当前位置: 首页 > 知识库问答 >
问题:

错误:此数据集已包含键对象为1的序列

凌博实
2023-03-14

背景:我正在添加x

问题:然而,我在将序列添加到我的XYSeriesCollection中时遇到了困难。所以我创建了一个名为序列1的XYSeries,并将两个值添加到其中。然后当我将该序列1数据添加到XYSeriesCollection时,它会抛出:“此数据集已经包含具有键Object 1的序列”错误。

问题:这个错误意味着什么,我如何解决它?

代码:

    private void renderChartBtnActionPerformed(java.awt.event.ActionEvent evt) {                                               

        String manufacturer = "";
        
        XYSeriesCollection dcd = new XYSeriesCollection();
        
        String[] splitLine = new String[4];
        String[][] twoD_arr = new String[arraySize][4];
        int kount = 0;
        double dnum = 0;
        double dnum2 = 0;
        
         // Checks which radio button is selected and sets equal to manufacturer
        if (audiRB.isSelected()) {
            manufacturer = "Audi";
        }
        else if (volvoRB.isSelected()) {
            manufacturer = "Volvo";       
        }
        
        Iterator<String> itr = carData.iterator();
        while(itr.hasNext()){
            splitLine = itr.next().split(",");
            for(int i=0;i<=3;i++){
                twoD_arr[kount][i] = splitLine[i];
               
            }
            kount = kount + 1;
        }
        // Checks which data type is selected and adds data to series
        for(int i=0; i< twoD_arr.length; i++){
            if (pctShare.isSelected() && (twoD_arr[i][1]).equals(manufacturer)) {
                XYSeries series1 = new XYSeries("Object 1");
                                
                dnum = Double.parseDouble(twoD_arr[i][3]);
                dnum2 = Double.parseDouble(twoD_arr[i][0]);
                series1.add(dnum, dnum2);
                System.out.println(dnum);
                System.out.println(dnum2);
                dcd.addSeries(series1);
            } 
            else if (qtySold.isSelected() && (twoD_arr[i][1]).equals(manufacturer)) {
//                inum = Integer.parseInt(twoD_arr[i][2]);
//                dcd.setValue(inum, "Quantity Sold", twoD_arr[i][0]);
//                dcd.setValue(dnum, dnum, dnum);
//                System.out.println(twoD_arr[i][0] + twoD_arr[i][2]);
                     
            }                
        }
        
         // User selection of chart type        
         if( LineRB.isSelected()){
            jchart = ChartFactory.createXYLineChart("New Car Sales in Norway", "Date", manufacturer, dcd);
        }
        else if(AreaRB.isSelected()){
            jchart = ChartFactory.createXYAreaChart("New Car Sales in Norway", "Date", manufacturer, dcd, PlotOrientation.VERTICAL, true, true, false);
        }
        else if(barRB.isSelected()){
            jchart = ChartFactory.createXYStepAreaChart("New Car Sales in Norway", "Date", manufacturer, dcd, PlotOrientation.VERTICAL, true, true, false);       
        }
        else {
           jchart = null; 
        }
        
        // Add chart to panel
        ChartPanel chartPanel = new ChartPanel(jchart);
        inner_chart_pnl.removeAll();
        inner_chart_pnl.add(chartPanel);
        inner_chart_pnl.updateUI(); 

    }      

共有1个答案

蒙光华
2023-03-14

XYSeriesCollection根据给定给每个序列的可比较键区分它包含的序列。在您的示例中,该键是StringObject 1。向序列添加数据的循环每次都会尝试通过循环构造和添加序列。相反,在循环之前创建序列,添加数据,然后在填充后添加完整的序列:

XYSeries series1 = new XYSeries("Object 1");
for(int i=0; i< twoD_arr.length; i++) {
    //XYSeries series1 = new XYSeries("Object 1");
    …
    //dcd.addSeries(series1);
} 
dcd.addSeries(series1);

这里显示了一个完整的示例。

 类似资料:
  • 然而,试图创建一个最多4人的组时,具有相同ID的人不能在同一个组中,例如“Tim ID1、Josh ID2、Ben ID3、George ID4”,这将是一个罚款,但“James ID2”不能加入该组,因为Josh已经在其中了。 我不明白为什么这种方法不起作用,任何帮助都将不胜感激。

  • 然后是班级选拔: 教材: 因此,我主要创建新用户并将其序列化: 一切都很完美,但如果我这样做: 然后我想序列化对象用户,程序崩溃了。我得到的结果是: JAVA木卫一。NotSerializableException:在java上。木卫一。ObjectOutputStream。java上的WriteObject 0(ObjectOutputStream.java:1183)。木卫一。ObjectOu

  • 问题内容: 我正在尝试将表1中的数据插入表2中 table2的键是student_id。 假定没有任何重复项。 我得到错误: table2中只有四列。 问题答案: 语法错误,请从中删除。

  • 问题内容: 顾名思义,我正在尝试将包含一些BufferedImages(包括其他变量,字符串等)的对象保存到文件中。 我发现了这一点: 如何序列化包含BufferedImages的对象 它的工作原理就像一种魅力,但有一点点挫折:如果您的对象仅包含一个图像,它就可以很好地工作。 我一直在努力获取他的解决方案以处理多个图像(理论上应该可以使用),但是每次读入文件时,我都会得到对象,图像数量正确,但只有

  • 关于CakePHP containable,我已经四处寻找了很长一段时间,不知怎的,我觉得CakePHP代码中有一个错误。。。让我给你举个例子 假设“会计”模型与“说明”相关。 我这样做一个连接: 所以有一个指令,一个学生和一个老师属于这个指令。我从“会计”模型中调用find 连接将自动完成并更正 将检索包含中提到的字段 字段被连接,但连接错误;因此,结果数组包含一条带学生和教师的指令。但它不会显

  • 问题内容: 我有一个对象(解析树),其中包含子节点,这些子节点是对其他节点的引用。 我想使用序列化此对象,但是我得到了 TypeError:循环对象值 因为我提到的结构。 我该如何解决?对我而言,在序列化对象中是否表示对其他节点的引用并不重要。 另一方面,在创建对象时从对象中删除这些属性似乎很乏味,我也不想对解析器(水仙)进行更改。 问题答案: 使用的第二个参数,该替代品的功能,以排除已序列化对象