【问题标题】:JFreeChart ignoring lower values in Pie ChartJFreeChart 忽略饼图中的较低值
【发布时间】:2016-05-05 08:19:38
【问题描述】:

创建数据集的方法:

private static DefaultPieDataset getPieDataset(List<ChartObject> list)
{
   DefaulPieDataset dataset = new DefaultPieDataset();
   for(ChartObject object : list)
       dataset.setValues(object.getKey(), object.getValueX());

   return dataset;
}

我的列表包含三个具有以下值的对象:

键:高值:9

键:中值:30

键:低值:46

但是我的饼图只显示了两个类别 LOW 和 MEDIUM。 HIGH 完全被忽略。

快速的 Google 搜索显示我们可以将阈值聚合设置为较低的值,因此我试了一下,并将函数的返回类型更改为 PieDataSet,并将返回语句更改为:

return DatasetUtilities.createConsolidatedPieDataset(dataset, "Other", 0);

但还是没有运气。

如何强制 JFreeChart 不忽略较低的值。

【问题讨论】:

    标签: jfreechart


    【解决方案1】:

    我猜你的List&lt;ChartObject&gt; 是错误的,你的getPieDataset() 无法编译。这是一个使用 Map&lt;String, Integer&gt; 的示例。

    private Map<String, Integer> getData() {
        Map<String, Integer> map = new HashMap<>();
        map.put("High", 9);
        map.put("Medium", 30);
        map.put("Low", 46);
        return map;
    }
    
    private ChartPanel createPieChart() {
        DefaultPieDataset data = new DefaultPieDataset();
        for (Map.Entry<String, Integer> entry : getData().entrySet()) {
            data.setValue(entry.getKey(), entry.getValue());
        }
        return new ChartPanel(ChartFactory.createPieChart(
            "PieTest", data, true, true, false));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多