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;
}
m_Data 中包含一个已格式化为 String[Rows][Columns] 的 CSV 文件。我要做的是制作一个用于 XYBarchart 的数据集,其中 startColumn 指示哪一列,for 循环用于遍历该列的行以获取 X 轴的值(键?)。Y 的值是从同一行的 endColumn 检索的。
然而,在 m_Data 数组中是重复值,因此当使用具有重复值的列作为 X 轴时,我需要将相应的 Y 值相加。但是我实现的方法似乎不起作用,而是将第一个遇到的值添加到系列中。