使用JFreeChart的箱子图

时间:2015-02-13 10:22:15

标签: java jfreechart boxplot

首先,我是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,平均值,最小值和最大值来创建箱形图?因为在上面的演示中,他们基于完整样本集的图。

1 个答案:

答案 0 :(得分:1)

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

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