用QtChart绘制雷达图(极坐标图)的教程 - 使用QtWidgets库
最编程
2024-01-24 10:41:21
...
1. 前言
突然好奇极坐标图(雷达图)是怎么实现的,就查了一下资料,发现有几种实现方法:一是QtChart实现;二是QCustomPlot实现;三是自绘。前两者都给了示例,所以我就学了学,后者自绘我尽力吧。
2. 说明和代码
QtChart实现图表一般要设置三部分:模型、数据、轴,如果要实现极坐标图,三者分别为:
- 模型:必须为QPolarChart;
- 数据:想要什么样的数据表达形式,可选择不同的类来存储数据,比如散点选择QScatterSeries、直线选择QLineSeries等;
- 轴:轴也是根据表现形式的不同选择不同的轴类,都是继承QAbstractAxis,最常用到的是QValueAxis。
2.1. 一般结构代码
这里先给个示例代码:
const qreal angularMin = -100;
const qreal angularMax = 100;
const qreal radialMin = -100;
const qreal radialMax = 100;
//数据
QScatterSeries *series1 = new QScatterSeries();
series1->setName("scatter");
for (int i = angularMin; i <