QtでKDChartライブラリを使って作成した円グラフの各項目にテキストラベルを設定する方法はありますか?KDChart円グラフの項目のラベルを設定するにはどうすればいいですか?
具体的には、この特定のケースではモデル/ビューアーキテクチャを使用していません。 KDChart::Widget
でも作成し、Widget::setDataCell()
を使用してグラフに記入してください。
おそらく、軸のテキストラベルを設定するいくつかの方法がありますが、円グラフに似たようなものはありません。とにかくそれは私が必要とするものではありません。私はその軸のためではなく、特定の点のラベルを設定したい。円グラフに適用すると、タイトルのついたセクターのようなものになります。
私はおそらくKDChart::Legend
を使って、必要な動作を達成することができますが、動作していないと考えました。
ここにコードサンプルがありますが、多分役立つかもしれません。しかし、(乱雑ラインのクリア)それが変わったのことを心に留めておくと、私はその正しさをテストしていません:
KDChart::Widget* newChart = new KDChart::Widget;
newChart->setType(KDChart::Widget::Pie);
int curColNo = 0; // it's not a size_t 'coz setDataCell requires an int
for(QVector::const_iterator curValueIt = response.begin(); curValueIt != response.end(); ++curValueIt)
{
newChart->setDataCell(0, curColNo, *curValueIt);
newChart->diagram()->setBrush(curColNo++, QBrush(m_responsesColors[curValueIt]));
m_legend->addDiagram(newChart->diagram());
}
m_mainLayout.addWidget(newChart, m_curLayoutRowNo, m_curLayoutColNo);
もう一つ - 私は一貫性のない列番号でそれを埋めるためにしようとした(0,2,5,9等)と円グラフが正しく描かれなかった - いくつかのセクターは他のセクターと重なった。他のタイプのチャート(例えば棒グラフ)では、すべてのデータが正しく可視化されていました。
商品ラベルについてご意見はありますか?
P.S.私は、円グラフの列をいくつかスキップして塗りつぶすのが間違っていることを理解しました。一貫性のない列を塗りつぶした場合(その一部をスキップする場合)、スキップされた列の値を明示的にゼロに設定するだけです。間違った円グラフの視覚化の問題を修正します。
おそらくKDChartはスキップされた列を自動的に調べ、自動的にnullに設定する必要がありますが、そうではありません。それで自分でやってください。
希望、これは誰かを助けるでしょう。