【问题标题】:JFreeChart loading an array into datasetJFreeChart 将数组加载到数据集中
【发布时间】:2012-05-07 08:09:02
【问题描述】:

我无法通过简单的 for 循环将数组加载到 JFreeChart 的 DataSet 中。例如,这将非常好:

    private  PieDataset createDataset() {
    DefaultPieDataset result = new DefaultPieDataset();     

    result.setValue("Linux", 29);
    result.setValue("Mac", 20);
    result.setValue("Windows", 51);

    return result;

}

但是,如果我尝试通过循环遍历数组的每个元素来使用数组实现上面的代码,它将不起作用:

    private  PieDataset createDataset() {
    DefaultPieDataset result = new DefaultPieDataset();
    int[] array1 = new int[]{29,20,51};
    char[] array2 = new char[]{"Linux", "Mac", "Windows"};

    for (int i = 0; i < 3; i++) {
        result.setValue(array2[i], array1[i]);
    }
    return result;

}

知道我哪里出错了吗?

【问题讨论】:

    标签: java arrays for-loop jfreechart


    【解决方案1】:

    signature for DefaultPieDataset.setValue() is

    setValue(java.lang.Comparable key, double value)
    

    所以我认为字符数组不允许在所述数组中使用“Comparable”值。
    String 的数组可能(String 实现 Comparable 接口,这就是您的第一个示例有效的原因)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多