【问题标题】:Box plot using JFreeChart使用 JFreeChart 的箱线图
【发布时间】:2015-02-13 10:22:14
【问题描述】:

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

【问题讨论】:

    标签: java jfreechart boxplot


    【解决方案1】:

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

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

    【讨论】:

    • 好的,谢谢你的回答,我一得到15个代表就会+1,你的意思是我应该重写整个类还是子类化它然后覆盖使用的方法?
    • 你的类可以是这样的:MyDataSet 扩展 AbstractDataset 实现 BoxAndWhiskerCategoryDataset。希望你不需要重写很多方法。
    • 好的,我试试这个方法!感谢您的回答!
    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2017-09-09
    相关资源
    最近更新 更多