1

配列のサイズまでの double の負荷を生成する関数があります。私が知りたいのは、XYLineChart?を使用してこれらの値をプロットする方法です。これらの double を正しい形式にしてプロットできるようにする方法がわかりません。変数をが受け入れてプロットdouble[]できる適切な形式に変更するにはどうすればよいですか。XYSeries私のコードリストは以下です。

public XYSeries inputOutputGraph() {
    XYSeries graph = new XYSeries();
    XYDataset xyDataset = new XYSeriesCollection(graph);
    graph.add(valuesToPlot.outputArray); //This line here is the issue
    JFreeChart chart = ChartFactory.createXYLineChart(
            " Array values", "Time", "values",
            xyDataset, PlotOrientation.VERTICAL, true, true, false);
    ChartFrame graphFrame = new ChartFrame("XYLine Chart", chart);
    graphFrame.setVisible(true);
    graphFrame.setSize(300, 300); 
    return graph;
}   

これは私が得るエラーメッセージです:

add(double[]) メソッドに適したメソッドが見つかりません org.jfree.data.xy.XYSeries.add(org.jfree.data.xy.XYDataItem,boolean) は適用されません

(実引数リストと仮引数リストの長さは異なります)

4

1 に答える 1

2

XYSeriesのドキュメントを見てください。コンパイル エラーが示すように、入力データの配列addを処理する方法はありません。double

名前が示すようXYSeriesに、一連の X & Y 座標で構成されています。double 配列は、おそらくY座標の 1 つのポイント セットしかないことを示唆しています。

この場合、配列を 1D からサイズn X 2 の 2 次元配列に変更できます。配列の 1 列目と 2 列目を X 座標と Y 座標にそれぞれ使用します。例えば

double[][] xyValues = new double[100][2];

次に、追加するには、次のようにします。

for (int i = 0; i < xyValues.length; i++) {
   graph.add(xyValues[i][0], xyValues[i][0]);
}
于 2013-02-05T22:59:51.813 に答える