qchart散点图不能设置单个大小
现在需要用qchart画出大小不同的矩形散点图应该怎么实现呢,自定义一个新的散点类吗

如何使用qchart绘制自定义散点图
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ShowMeAI 2022-12-24 11:21关注
望采纳
- Qt Charts 提供了一种叫做 ScatterSeries 的类来绘制散点图。它使用 QScatterDataItem 类来表示每个散点,其中包含了坐标信息以及一个可选的大小属性。你可以使用 QScatterDataItem::setSize() 函数来为每个散点设置不同的大小。
- 下面代码在 QChart 中创建一个散点图,并使用 QScatterDataItem 类来设置散点的大小:
#include <QtCharts/QScatterSeries> #include <QtCharts/QChart> #include <QtCharts/QChartView> #include <QtCharts/QScatterDataItem> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建散点图序列 QScatterSeries *series = new QScatterSeries(); // 向散点图序列中添加散点 series->append(0, 0); series->append(2, 4); series->append(3, 3); series->append(7, 7); series->append(10, 10); // 设置每个散点的大小 QScatterDataItem *item = series->dataProxy()->itemAt(0); item->setSize(10); item = series->dataProxy()->itemAt(1); item->setSize(20); item = series->dataProxy()->itemAt(2); item->setSize(30); item = series->dataProxy()->itemAt(3); item->setSize(40); item = series->dataProxy()->itemAt(4); item->setSize(50); // 创建图表 QChart *chart = new QChart(); chart->addSeries(series); chart->createDefaultAxes(); chart->setTitle("Simple scatterchart example"); // 创建图表视图 QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); chartView->resize(400, 300); chartView->show(); return a.exec(); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1