Search in sources :

Example 1 with PDFPlot

use of dr.app.gui.chart.PDFPlot in project beast-mcmc by beast-dev.

the class HierarchicalPriorDialog method setupChart.

private void setupChart() {
    for (int i = 0; i < 2; ++i) {
        chart[i].removeAllPlots();
        double offset = 0.0;
        Distribution distribution = null;
        switch(i) {
            case 0:
                distribution = optionsPanels.get(PriorType.NORMAL_PRIOR).getDistribution();
                break;
            case 1:
                distribution = optionsPanels.get(PriorType.GAMMA_PRIOR).getDistribution();
                break;
        }
        chart[i].addPlot(new PDFPlot(distribution, offset));
        if (distribution != null) {
            quantileText[i].setText(formatter.format(distribution.quantile(0.025)) + "\n" + formatter.format(distribution.quantile(0.05)) + "\n" + formatter.format(distribution.quantile(0.5)) + "\n" + formatter.format(distribution.quantile(0.95)) + "\n" + formatter.format(distribution.quantile(0.975)));
        }
    }
}
Also used : GammaDistribution(dr.math.distributions.GammaDistribution) Distribution(dr.math.distributions.Distribution) OffsetPositiveDistribution(dr.math.distributions.OffsetPositiveDistribution) NormalDistribution(dr.math.distributions.NormalDistribution) PDFPlot(dr.app.gui.chart.PDFPlot)

Example 2 with PDFPlot

use of dr.app.gui.chart.PDFPlot in project beast-mcmc by beast-dev.

the class PriorSettingsPanel method setupChart.

void setupChart() {
    chart.removeAllPlots();
    if (hasInvalidInput(false)) {
        quantileText.setText("Invalid input");
        return;
    }
    PriorType priorType = (PriorType) priorCombo.getSelectedItem();
    if (priorType == null) {
        priorType = parameter.priorType;
        priorCombo.setSelectedItem(priorType);
    }
    // ExponentialDistribution(1.0 / mean)
    //        if (priorType == PriorType.EXPONENTIAL_PRIOR && parameter.mean == 0) parameter.mean = 1;
    PriorOptionsPanel priorOptionsPanel = optionsPanels.get(priorType);
    // TODO is this used or duplicated to OffsetPositiveDistribution?
    double offset = 0.0;
    // this does not refresh dist from parameter truncation lower/upper, it get them from GUI
    Distribution distribution = priorOptionsPanel.getDistribution(parameter);
    chart.addPlot(new PDFPlot(distribution, offset));
    if (distribution != null) {
        quantileText.setText(formatter.format(distribution.quantile(0.025)) + "\n" + formatter.format(distribution.quantile(0.05)) + "\n" + formatter.format(distribution.quantile(0.5)) + "\n" + formatter.format(distribution.quantile(0.95)) + "\n" + formatter.format(distribution.quantile(0.975)));
    }
}
Also used : Distribution(dr.math.distributions.Distribution) PriorType(dr.app.beauti.types.PriorType) PDFPlot(dr.app.gui.chart.PDFPlot)

Aggregations

PDFPlot (dr.app.gui.chart.PDFPlot)2 Distribution (dr.math.distributions.Distribution)2 PriorType (dr.app.beauti.types.PriorType)1 GammaDistribution (dr.math.distributions.GammaDistribution)1 NormalDistribution (dr.math.distributions.NormalDistribution)1 OffsetPositiveDistribution (dr.math.distributions.OffsetPositiveDistribution)1