0
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 値を一緒に追加する必要があります。ただし、私が実装した方法は機能していないようで、代わりに最初に検出された値をシリーズに追加するだけです。

4

1 に答える 1