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

  • Post author:
  • Post category:python


第12章 PyQtChart二维绘图

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

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









12.1 PyQtChart概述






12.2 QChart绘制折线图


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



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



12.3 QChart绘图高级功能


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



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



12.4 对数坐标轴和多坐标轴


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



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



12.5 饼图和各种柱状图




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



图12-18 饼图绘图界面



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


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



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



12.7 区域填充图


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



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



12.8 极坐标图


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

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

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



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

<上一章>

<回主页>


<下一章>



版权声明:本文为HongAndYi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。