首先,我是Java和Stackoverflow的新手。因此,我希望我可以在我的问题中提供足够的清晰度。

我的目标是使用jfreechart创建箱形图,以跟踪日常使用中的测量值。我想通过存储最少的数据来做到这一点。通过存储平均值,标准差,中位数,1Q,3Q,最小值和最大值的统计信息。然后应通过每天测量的箱形图将其可视化。

我在这里看了箱形图演示
http://www.java2s.com/Code/Java/Chart/JFreeChartBoxAndWhiskerDemo.htm

在此演示中,他们创建了数据集并将所有值添加到数据集中,然后将其添加到绘图中。数据集本身包含返回数据集的平均值,中位数等的方法,以便能够创建绘图。请参阅下面的代码,以获取上面链接中的演示片段。

    DefaultBoxAndWhiskerCategoryDataset dataset = new DefaultBoxAndWhiskerCategoryDataset();
    //some type of algorithm to add values to the dataset
    dataset.add(//values, series and type here);
    // Return the finished dataset
    CategoryAxis xAxis = new CategoryAxis("Type");
    NumberAxis yAxis = new NumberAxis("Value");
    yAxis.setAutoRangeIncludesZero(false);
    BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer();
    renderer.setFillBox(false);
    renderer.setToolTipGenerator(new BoxAndWhiskerToolTipGenerator());
    CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis,
            renderer);

    JFreeChart chart = new JFreeChart("Box-and-Whisker Demo",
            new Font("SansSerif", Font.BOLD, 14), plot, true);


所以我的问题是,我应该怎么做才能将中位数,Q1,Q3,均值,最小值和最大值相加来创建箱形图?因为在上面的演示中,它们基于完整样本集的图。

最佳答案

您可以创建自己的数据集类并使用它来创建图表。

创建您自己的BoxAndWhiskerCategoryDataset实现并使用它代替DefaultBoxAndWhiskerCategoryDataset

10-04 11:47