我有一个函数可以产生一个双倍的数组,大小达到数组的大小。我很想知道的是我如何使用XYLineChart
绘制这些值?我不确定如何将这些双打放入正确的格式,以便可以绘制它们。如何将double[]
变量更改为XYSeries
将接受的合适格式,然后进行绘图。我的代码清单如下。
public XYSeries inputOutputGraph() {
XYSeries graph = new XYSeries();
XYDataset xyDataset = new XYSeriesCollection(graph);
graph.add(valuesToPlot.outputArray); //This line here is the issue
JFreeChart chart = ChartFactory.createXYLineChart(
" Array values", "Time", "values",
xyDataset, PlotOrientation.VERTICAL, true, true, false);
ChartFrame graphFrame = new ChartFrame("XYLine Chart", chart);
graphFrame.setVisible(true);
graphFrame.setSize(300, 300);
return graph;
}
这是我收到的错误消息:
没有为add(double [])找到合适的方法 方法org.jfree.data.xy.XYSeries.add(org.jfree.data.xy.XYDataItem,boolean) 不适用
(实际和正式的参数列表长度不同)
答案 0 :(得分:2)
查看docs for XYSeries。编译错误表明,没有add
方法来处理double
输入数据数组。
顾名思义XYSeries
由一系列X&组成。 Y坐标。你的双数组会建议你只有一组点,可能是 Y 坐标。
如果是这种情况,您可以将数组从1D更改为大小为 n X的2维数组.2。将数组的第一列和第二列用于X& Y分别协调。 E.g。
double[][] xyValues = new double[100][2];
然后,要添加,您可以这样做:
for (int i = 0; i < xyValues.length; i++) {
graph.add(xyValues[i][0], xyValues[i][0]);
}