我正在使用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;
}
提前致谢!
答案 0 :(得分:2)
有两种解决方案;使用普通折线图,您可以使用DefaultCategoryDataset
。 addValue
方法有三个参数,第二个是数据集的名称。第三个是列标签:
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;
}