【问题标题】:JFreeChart multiple series issueJFreeChart 多系列问题
【发布时间】:2016-10-03 23:02:12
【问题描述】:

晚上好:

我正在收集有关要使用以下两种方法绘制图表的函数评估数量的数据。第一个为给定的 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)

我似乎找不到一种简单的方法来附加或增加我的系列变量名称。数组把我弄糊涂了,它们是我在网上搜索中发现的唯一选择。

我很欣赏简单的建议,因为我不是程序员,只是了解了类和对象之间的区别。如果您愿意帮助我,我这样说是为了帮助您提出建议。提前致谢。

【问题讨论】:

    标签: java naming-conventions jfreechart


    【解决方案1】:

    好的,我刚刚想通了,它比我想象的要简单得多。该错误消息不是指对每个系列的唯一声明名称的某些要求。它指的是字符串参数:

    series = new XYSeries("data");
    

    只需更新循环中的参数,就足以得到三个彩色图:

    series = new XYSeries("data"+Integer.toString(i));
    

    我希望这对以后的人有所帮助!

    【讨论】:

      【解决方案2】:

      here所示,集合的addSeries()方法使用传入的XYSeries的名称作为key。只要名称是唯一的,您就可以将多个系列添加到集合中。在这个example中,有两个系列分别命名为"Random""Added";当您单击 Add 按钮时,后一个系列会动态更新。

      随着程序的发展,

      • 您可以将图表更新为JSpinner 中的值更改,如here 所示。

      • 您可以使用工作线程为计算的进度设置动画,如here 所示。

      【讨论】:

      • 感谢您提供的良好链接。我认为我的问题更基本一些。如您所见,我在循环中创建了我的系列以将它们添加到数据集中,但 JFreeChart 不喜欢它们都是同名的。我需要一种在循环内唯一命名它们的方法。也许某种方式可以在声明中添加增量数字?我见过提到的数组,但我不知道如何做到这一点并保持代码简单。
      猜你喜欢
      • 2013-06-11
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2011-09-03
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多