晚上好:
我正在收集有关要使用以下两种方法绘制的功能评估数量的数据。对于给定的n和m,第一个运行Romberg积分,n <= m。在该方法中,在每次评估期间递增全局计数器,并且我想要绘制给定R(n,m)的评估的数量。第二个接收数据集并绘制图形。
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);
}
我遇到了问题。似乎我必须唯一地命名数据集中的每个系列。我收到错误:&#34;此数据集已包含org.jfree.data.xy.XYSeriesCollection.addSeries(XYSeriesCollection.java:159)中的关键数据系列
我似乎无法找到一种简单的方法来追加或增加我的系列变量名称。数组混淆了我的垃圾,它们是我在网上搜索中发现的唯一选择。
我很欣赏简单的建议,因为我不是程序员,只是学习了类和对象之间的区别。如果您愿意帮助我,我会这样说是为了帮助您构建您的建议。提前谢谢。
答案 0 :(得分:1)
如图here所示,集合的addSeries()
方法使用传入的XYSeries
的名称作为键。只要名称是唯一的,您就可以将多个系列添加到集合中。在此example中,两个系列名为"Random"
和"Added"
;当您单击添加按钮时,后一系列会动态更新。
随着您的计划的发展,
JSpinner
更改中的值,如here所示。答案 1 :(得分:1)
好的,我只是想出来了,这比我想象的要简单得多。错误消息并不是指对每个系列的唯一声明名称的某些要求。它指的是String参数:
series = new XYSeries("data");
只需更新循环中的参数,这足以获得三个多色图:
series = new XYSeries("data"+Integer.toString(i));
我希望这有助于某人前进!