JFreeChart数组作为数据集

时间:2014-12-14 21:37:58

标签: java jfreechart

我正在使用JFreeChart绘制折线图。我想加载数组作为数据集...一个数组用于x轴,另一个数组用于y轴。 尝试将数组作为要在数据集中使用的数据传递时出现问题。 以下是我的尝试;

public DefaultCategoryDataset createDataset(int[] epochNo, int[] BFacts)
{

    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    for (int i = 0; i<epochNo.length(); i++)
    {
        dataset.addValue(epochNo[i], BFacts[i]);
    }
    return dataset;
}

提前致谢!

1 个答案:

答案 0 :(得分:2)

有两种解决方案;使用普通折线图,您可以使用DefaultCategoryDatasetaddValue方法有三个参数,第二个是数据集的名称。第三个是列标签:

dataset.addValue(BFacts[i], "myline", String.valueOf(epochNo[i]));

其他解决方案是将其视为XY折线图(使用ChartFactory.createXYLineChart)。在这种情况下,您的数据集是XYDataset而不是CategoryDataset

private XYDataset createDataset(int[] epochNo, int[] bFacts) {
    final XYSeries myline = new XYSeries( "myline" );          
    for (int i = 0; i < epochNo.length; i++) {
        myline.add(epochNo[i], bFacts[i]);
    }      
    final XYSeriesCollection dataset = new XYSeriesCollection( );          
    dataset.addSeries(myline);          
    return dataset;
}

See more in this example