Java 将重复X值的Y值添加到XYSeries中 public XYSeriesCollection CreateDataset(int-startColumn、int-endColumn、int-startRow、int-endRow){ XYSeriesCollection数据集=新的XYSeriesCollection(); XYSeries系列=新XYSeries(“测试”); 对于(int j=startRow;j
m_数据中包含一个CSV文件,该文件已格式化为字符串[行][列]。我要做的是创建一个用于XYBarchart的数据集,其中startColumn指示哪一列,而for循环用于遍历该列的行以获取X轴(键?)的值。Y的值从同一行的endColumn中检索Java 将重复X值的Y值添加到XYSeries中 public XYSeriesCollection CreateDataset(int-startColumn、int-endColumn、int-startRow、int-endRow){ XYSeriesCollection数据集=新的XYSeriesCollection(); XYSeries系列=新XYSeries(“测试”); 对于(int j=startRow;j,java,2d,jfreechart,Java,2d,Jfreechart,m_数据中包含一个CSV文件,该文件已格式化为字符串[行][列]。我要做的是创建一个用于XYBarchart的数据集,其中startColumn指示哪一列,而for循环用于遍历该列的行以获取X轴(键?)的值。Y的值从同一行的endColumn中检索 但是,在m_数据数组中有重复的值,因此当使用具有重复值的列作为X轴时,我需要将相应的Y值相加。但是,我实现的方法似乎不起作用,而是将遇到的第一个值添加到序列中。您需要将XYSeries子类化,并替换XYDataItem addOrUpdate(数字x
但是,在m_数据数组中有重复的值,因此当使用具有重复值的列作为X轴时,我需要将相应的Y值相加。但是,我实现的方法似乎不起作用,而是将遇到的第一个值添加到序列中。您需要将
XYSeries
子类化,并替换XYDataItem addOrUpdate(数字x,数字y)
或public void add(XYDataItem,布尔通知)
以便添加附加值,而不是覆盖现有Y值
或者,对数据集进行两次迭代一次,以聚合重复项,然后将其添加到XYSeries
public XYSeriesCollection CreateDataset(int startColumn, int endColumn, int startRow, int endRow) {
XYSeriesCollection dataset = new XYSeriesCollection();
XYSeries series = new XYSeries("Test");
for (int j = startRow; j < endRow; j++) {
String curVal = m_Data[j][endColumn];
if (isInt(curVal)) {
XYDataItem item = series.addOrUpdate(Integer.parseInt(m_Data[j][startColumn]), Integer.parseInt(curVal));
if (item != null) {
int temp = item.getY().intValue() + Integer.parseInt(curVal);
int temp1 = series.indexOf(Integer.parseInt(m_Data[j][startColumn]));
/*Integer temp2 = new Integer(Integer.parseInt(m_Data[j][startColumn]));
series.update((Number) temp2, temp);*/
series.updateByIndex(temp1, temp);
}
} /*else if (isDouble(curVal)) {
series.add(Integer.parseInt(m_Data[j][startColumn]), Double.parseDouble(curVal));
} else {
series.add(Integer.parseInt(m_Data[j][startColumn]), 0);
}*/
}
dataset.addSeries(series);
return dataset;
}