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 に含まれているのは、文字列[行][列]にフォーマットされた CSV ファイルです。私がやろうとしているのは、startColumn がどの列を示す XYBarchart に使用されるデータセットを作成し、for ループを使用してその列の行を調べ、X 軸 (キー?) の値を取得することです。Y の値は、同じ行の endColumn から取得されます。
ただし、m_Data 配列には重複する値があるため、重複する値を持つ列を X 軸として使用する場合は、対応する Y 値を一緒に追加する必要があります。ただし、私が実装した方法は機能していないようで、代わりに最初に検出された値をシリーズに追加するだけです。