Qt에서 KDChart 라이브러리를 사용하여 만든 파이 다이어그램의 각 항목에 텍스트 레이블을 설정할 수있는 방법이 있습니까?KD 차트 원형 다이어그램의 항목에 레이블을 설정하는 방법은 무엇입니까?
좀 더 구체적으로 말하자면이 특정한 경우에는 모델/뷰 아키텍처를 사용하지 않습니다. 나는 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. 파이 차트의 열을 채우는 것이 잘못된 이유를 알아 냈습니다. 일치하지 않는 열을 채우는 경우 (일부는 건너 뛰기), 건너 뛴 열의 값을 명시 적으로 0으로 설정하면됩니다. 잘못된 원형 차트의 시각화 문제를 해결합니다.
아마 KDChart는 건너 뛴 열을 자체적으로 알아 내서 자동으로 null로 설정해야하지만 그렇지 않습니다. 그렇게해라.
희망은 누군가를 도울 것입니다.