2

ライブラリを使って BarDiagram を表示したいKDChart。垂直方向の値は -120 から 0 の間でなければなりません。

通常、KDChart は、次の png が示すようにバーを 0 から開始します: 上が 0、下が -120 のバー ダイアグラム。バーは 0 から -120 に向かって成長します http://bvdpi.img36.wal8.com/img36/ 371522_20130905114637/137835282162.png

KDChart::CartesianCoordinatePlaneメソッドが追加されましたsetVerticalRangeReversed(bool)

メソッドを呼び出した後、ダイアグラムは次のようになります: 上が -120 で下が 0 のバー ダイアグラム。バーは 0 から -120 に向かって成長します.png

私が必要としているのは、バーが下の写真のようなものですが、Y 軸は上の写真のようなものです。
KDChart でバーを -120 から開始して 0 に向かって成長させる方法はありますか?

4

2 に答える 2

1

y 軸の値の最小値は -120 であるため、[-120,0] から [0, 120] に、各値に abs(-120) を加えた値に変換します。

    value += abs(-120);

また、y 軸の目盛りを変換する必要があります。CartesianAxis にはインターフェイス setAnnotations(QMap) があります。ということで、こんな地図を作りました。

    QMap<double, QString> m;
    m.insert(0, "-120");
    m.insert(20, "-100");
    m.insert(60, "-60");
    //...
    m.insert(120, "0");
    yAxis->setAnnotations(m);

これで、チャートは正常に表示されます。

于 2013-09-11T04:02:40.260 に答える
0

次を使用して、軸の範囲を手動で設定できます。

CartesianCoordinatePlane::setVerticalRange(const QPair< qreal, qreal > & range)

したがって、コードは次のようになります。

static_cast<CartesianCoordinatePlane*>(chart->coordinatePlane())->setVerticalRange(qMakePair(-120,0));
于 2015-06-29T06:44:25.770 に答える