1

QCustomPlot ライブラリに問題があります。ユーザーが数式と x 値を入力し、プログラムが y 値を計算して素敵なテーブルに表示するプログラムを作成しました。

その後、プログラムは x 値と計算された y 値を使用して二次関数を描画します。しかし、曲線を描く代わりに、鋭い線を描きます。統計図のようなものか、そのようなものだと思います。

たとえば、それらをどのように変換できるか知りたい

x- -1, -2, 1, 2, 0

y - -0.5、-0.25、0.5、0.25、0

二次関数に。

ここに必要な場合は、グラフを描画するコードです。

kiek = 0;

    //limitas is just counter which counted how many times user typed values

   // user typed x values and calculated values are stored in double type array



   QVector<double> x(limitas), y(limitas);


    for(int z= 0; z<limitas; z++){

        x[z] = iksai[kiek];
        y[z] = d[kiek];
kiek++;

    }
ui->customPlot->addGraph();
ui->customPlot->graph(0)->setData(x, y);

max = *std::max_element(d, d + limitas);

max1 = *std::max_element(iksai, iksai + limitas);

min1 = *std::min_element(d, d + limitas);

min = *std::min_element(iksai, iksai + limitas);

ui->customPlot->xAxis->setRange(min, max1);
ui->customPlot->yAxis->setRange(min1, max);

ui->customPlot->replot();
4

1 に答える 1

3

実際には QCustomPlot 関連の質問ではありません。

ポイント間のスペースをいくつかのスプラインで埋める必要があります。スプラインとは何かを示す素晴らしい記事があります: http://cairnarvon.rotahall.org/2009/07/05/quadratic-spline-interpolation/

したがって、基本的には2つ必要ですQCPGraph

最初のグラフは、接続線なしで重要なポイントを保持する必要があります ( QCPGraph::LineStyle::lsNone)。

2 番目のグラフは、計算された (コードによって!) スプライン ポイントを保持し、ある程度の解像度 (たとえば、minX、minX+dx、minX+dx*2 .. maxX のスプライン ポイント) を持ち、散布図はありません。

そのため、セクシーな曲線でポイントが互いに接続されます。

于 2013-11-10T17:31:39.927 に答える