《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维

系统 3552 0

第12章 PyQtChart二维绘图

Charts是Qt的一个二维图表模块,可以绘制各种常见的二维图表,如折线图、柱状图、饼图、散点图、极坐标图等,功能比较全面,绘制的图形效果也比较美观,是用于数据二维可视化的有力工具。PyQtChart是Qt Charts模块的Python绑定,它需要单独安装。

本章首先介绍PyQtChart模块的基本特点和功能,以画折线图为例介绍用PyQtChart绘制一个二维图表的程序基本结构,以及一个图表的各组成部分的程序控制方法,然后介绍散点图、柱状图、饼图、蜡烛图等典型图表的绘制,还有图表框选缩放、左右双坐标轴、对数坐标轴、时间日期坐标轴等一些功能的实现。

12.1 PyQtChart概述

12.2 QChart绘制折线图

实例Demo12_2以绘制折线图为例,详细介绍图表各个部分的设置和操作,包括图表的标题、图例、边距等属性设置,QLineSeries序列的属性设置,QValueAxis坐标轴的属性设置等。程序运行时界面如图12-5所示。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第1张图片

图12-5 示例Demo12_2运行时界面

12.3 QChart绘图高级功能

本节再通过一个实例Demo12_3介绍绘制图表的一些高级和实用功能的实现,如通过鼠标拖放框选一个范围放大、显示鼠标处的坐标数值等。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第2张图片

图12-11 实例Demo12_3运行时界面

12.4 对数坐标轴和多坐标轴

本节通过实例Demo12_4演示如何使用对数坐标轴QLogValueAxis,以及如何在一个图表中附加左、右两个坐标轴,两个序列的纵轴分别使用左轴和右轴,但是共用底部的横轴。实例运行时界面如图12-13所示。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第3张图片

图12-13 示例Demo12_4运行时界面

12.5 饼图和各种柱状图

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第4张图片

图12-15 实例Demo12_5运行时界面

 

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第5张图片

图12-18 饼图绘图界面

12.6 蜡烛图和日期时间坐标轴

蜡烛图是股票等金融数据分析常用的一种图形,PyQtChart模块中用于绘制蜡烛图的序列类是QCandlestickSeries。实例Demo12_6使用QCandlestickSeries序列类绘制蜡烛图曲线,同时横坐标轴使用了日期时间坐标轴类QDateTimeAxis,可以方便地以日期时间数据作为坐标数据。实例Demo12_6运行时界面如图12-19所示。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第6张图片

图12-19 实例Demo12_6运行时界面

12.7 区域填充图

PyQtChart模块中的QAreaSeries是一个用于绘制区域填充图形的序列类。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第7张图片

图12-20 实例Demo12_7运行时界面

12.8 极坐标图

PyQtChart模块中绘制极坐标图要用到QPolarChart类,它的父类是QChart。所以,QPolarChart是一个图表类,而不是一个序列类。

在QPolarChart图上可以使用QLineSeries,QSplineSeries,QScatterSeries,QAreaSeries等序列类绘图,可以使用QValueAxis、QCategoryAxis等任何坐标轴类作为径向坐标轴或角度坐标轴。

实例Demo12_8使用QPolarChart和QSplineSeries绘制玫瑰线,径向坐标轴和角度坐标轴都使用QValueAxis坐标轴类。程序运行时界面如图12-23所示。

《Python Qt GUI与数据可视化编程》第12章 PyQtChart二维绘图_第8张图片

图12-23 实例Demo12_8运行时界面

 

<上一章>               <回主页>                <下一章>


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论