QChart的用法

QChart是绘图的意思,它大体上有以下几个部分组成:

1)Series

2)Chart

3)Axis

4)ChartView

这里有个地方要注意的是Chart要先添加Series,再加载轴 (加载轴的过程是先添加轴到Chart上,再附加轴到Series上)


#include <QLineSeries>
#include <QChart>
#include <QValueAxis>
#include <QChartView>
#include <QMainWindow>
#include <QDebug>
using namespace QtCharts;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    //创建QLineSeries
    QLineSerie
### 使用 Qt QChart 创建图表 Qt QChart 提供了一种简单而高效的方式来创建各种类型的图表。无论是C++还是Python,都可以利用这一功能来增强应用程序的数据可视化能力。 #### C++ 中使用 Qt QChart 的方法 在C++中,可以通过以下方式初始化并显示一个简单的折线图: ```cpp #include <QApplication> #include <QLineSeries> #include <QChart> #include <QChartView> #include <QValueAxis> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建数据序列 QLineSeries *series = new QLineSeries(); series->append(0, 6); series->append(2, 4); series->append(3, 8); series->append(7, 4); series->append(10, 5); // 设置轴标签 QValueAxis *axisX = new QValueAxis; axisX->setRange(0, 10); axisX->setLabelFormat("%d"); QValueAxis *axisY = new QValueAxis; axisY->setRange(0, 10); axisY->setLabelFormat("%.1f"); // 将系列添加到图表中 QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple line chart example"); chart->createDefaultAxes(); // 自动配置默认坐标轴 chart->setAxisX(axisX, series); // 手动设置 X 轴 chart->setAxisY(axisY, series); // 手动设置 Y 轴 // 显示窗口 QChartView *view = new QChartView(chart); view->setRenderHint(QPainter::Antialiasing); view->resize(400, 300); view->show(); return a.exec(); } ``` 这段代码展示了如何构建基本的折线图,并设置了自定义的XY轴范围以及格式化后的刻度标记[^1]。 对于希望集成更复杂图形的应用程序开发者来说,《The OpenSceneGraph》是一个高性能三维图形工具包,在视觉模拟等领域广泛应用,虽然主要用于3D场景开发,但对于理解高级渲染技术同样具有参考价值[^2]。 #### Python 中使用 PySide 或 PyQt 和 Matplotlib 结合的方式 尽管官方文档主要针对C++环境下的实现进行了详细介绍,但在Python环境中也可以通过PySide或PyQt库轻松调用相同的功能接口。此外,如果需要更加灵活多样的绘图选项,则可以考虑结合Matplotlib这样的第三方库一起工作。 下面给出一段基于PySide2的例子: ```python from PySide2.QtWidgets import QApplication from PySide2.QtCharts import QtCharts import sys app = QApplication(sys.argv) # 初始化图表组件 chart = QtCharts.QChart() line_series = QtCharts.QLineSeries() for i in range(-5, 6): line_series.append(i*100, (i*i)*100) chart.addSeries(line_series) chart.createDefaultAxes() chart.setTitle('A simple Line Chart') # 展示图表视窗 chart_view = QtCharts.QChartView(chart) chart_view.setRenderHint(QtCharts.QGraphicsItem.Antialiasing) chart_view.resize(400, 300) chart_view.show() sys.exit(app.exec_()) ``` 此脚本实现了与上述C++版本相似的效果,即展示了一个基础版的时间序列曲线图。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值