晚上好:
我正在收集要使用以下两种方法绘制图表的函数评估次数的数据。对于给定的n和m,第一个运行Romberg积分,n
public static XYSeriesCollection functionDataCollecter(){
counter = 0;
//a single line on a chart
XYSeries series;
//a collection of series
XYSeriesCollection dataset = new XYSeriesCollection();
for(int i=0;i<3;i++){
//initiate new series
series = new XYSeries("data");
for(int k = i; k<9;k++){
R_nm(k,i,0,(Math.PI)/2);
series.add(k, counter);
}
//add series to dataset
dataset.addSeries(series);
}
return dataset;
}
public static void seriesPlotter(XYSeriesCollection dataset) {
XYPlot myPlot = new XYPlot("m=2", "Math 521", "m<=n<9", "log_10(F(n,m))", dataset);
myPlot.pack();
myPlot.setVisible(true);
}
我遇到了问题。似乎我必须唯一地命名数据集中的每个系列。我收到错误消息:“此数据集已经包含具有关键数据的序列,序列位于org.jfree.data.xy.XYSeriesCollection.addSeries(XYSeriesCollection.java:159)
我似乎找不到简单的方法来追加或增加序列变量名称。数组使我感到困惑,它们是我在在线搜索中提到的唯一选择。
我很欣赏简单的建议,因为我不是程序员,而是刚刚学习了类和对象之间的区别。我说这是为了帮助您提出建议,如果您愿意帮助我的话。提前致谢。
最佳答案
如here所示,集合的addSeries()
方法使用传入的XYSeries
的名称作为键。您可以将多个系列添加到集合中,只要名称是唯一的即可。在此example中,两个系列分别命名为"Random"
和"Added"
;单击“添加”按钮后,后一个系列将动态更新。
随着程序的发展,
您可以将图表更新为JSpinner
中的值,如here所示。
您可以使用辅助线程为计算进度设置动画,如here所示。