Qt | QScatterSeries 散点图

点击上方"蓝字"关注我们

01、QScatterSeries 

QScatterSeries 的类,它将代表散点图中的一个系列。这个类将包含数据点、颜色和样式等属性,以及用于绘制散点图的方法。

02、main.cpp

#include <QtWidgets/QApplication>#include <QtWidgets/QMainWindow>#include "chartview.h"int main(int argc, char *argv[]){
      QApplication a(argc, argv);    QMainWindow window;    // 设置图表视图显示窗口    ChartView chartView(&window);    window.setCentralWidget(&chartView);    window.resize(400, 300);    window.show();    window.setWindowTitle("公众号:Qt历险记");    return a.exec();<
Qt5.17中的QtCharts库中,如果你想要将`QScatterSeries`散点图的X轴坐标替换为自定义的文字标签,你需要通过设置系列数据模型的数据列以及X轴刻度标记的方式实现。以下是基本步骤: 1. 创建`QScatterSeries`实例并添加数据点: ```cpp QScatterSeries* scatterSeries = new QScatterSeries(); // 添加数据点,假设每个数据点包含数值值和对应的文本标签 QPointF point(0, 0); QString labelText("自定义文字"); scatterSeries->append(point, QPointF(labelText, QString())); // 第二个QPointF用于Y轴,此处设为空字符串 ``` 2. 设置X轴的数据列索引,通常散点图使用的是第一个元素作为X坐标,你可以通过`setXValueColumn()`设置: ```cpp scatterSeries->setXValueColumn(0); // 如果你的数据第一列是数值,这里应为1,因为从0开始计数 ``` 3. 定义X轴的刻度标记,并设置其格式: ```cpp QDateTimeAxis *xAxis = scatterChartView->xAxis(); // 获取X轴 xAxis->setTickCount(5); // 自定义刻度数量 QFontMetrics fm(font); // 使用图表的字体测量文字大小 xAxis->setLabelFormat("%1"); // 设置刻度显示的格式,这里用占位符%1表示自定义的文字 xAxis->setTickLabelFormatter([=](const QDateTime &t) -> QLabel * { int index = t.toSecsSinceEpoch() / (60 * 60); // 示例:每小时一个刻度 return new QLabel(scatterSeries->data(index, 0).toString(), axis); // 显示对应位置的文本标签 }); ``` 4. 最后,在你的图表视图`QChartView`中关联这个系列: ```cpp scatterChartView->addSeries(scatterSeries); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qt历险记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值