我正在使用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;
}


提前致谢!

最佳答案

有两种解决方案;对于正常的折线图,请使用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

10-07 12:28