第13章 PyQtDataVisualization三维绘图
Data Visualization是Qt中的一个三维数据可视化模块,可以绘制三维柱状图、三维散点图、三维曲面等。Data Visualization模块的功能虽然不能和一些专业的三维图形类库(如VTK)相提并论,但是它简单易用,对于简单的三维数据显示是比较实用的。PyQt5中并没有Data Visualization模块,需要单独安装PyQtDataVisualization包。
本章首先介绍PyQtDataVisualization模块的基本组成和主要类的功能,然后介绍三维柱状图、三维散点图和三维曲面的绘制方法。
13.1 PyQtDataVisualization模块概述
13.2 三维柱状图
实例Demo13_1使用Q3DBars图表类和QBar3DSeries序列类绘制一个三维柱状图,并在界面上对其一些常见属性和操作进行控制,程序运行时界面如图13-5所示。
图13-5 实例Demo13_1运行时界面
13.3 三维散点图
要绘制三维散点图,需要用到图表类Q3DScatter,序列类QScatter3DSeries和数据代理类QScatterDataProxy。实例Demo13_2使用这些类演示了三维散点图绘制的基本方法,程序运行时界面如图13-8所示,它绘制了一个“墨西哥草帽”的散点图,但是在运行时可以修改散点的坐标,可以添加新的散点,可以删除散点。
图13-8 示例Demo13_2运行时界面
13.4 三维曲面图
绘制三维曲面使用Q3DSurface图表类和QSurface3DSeries序列,根据使用的数据代理类的不同,可以绘制两种三维曲面图。
- QSurfaceDataProxy数据代理类,根据空间点的三维坐标绘制曲面,如一般的三维函数曲面。实例Demo13_3演示这种图表的绘制。
- QHeightMapSurfaceDataProxy数据代理类,根据一个图片的数据绘制三维曲面,典型的如三维地形图。实例Demo13_4演示这种图表的绘制。
图13-11 实例Demo13_3绘制的三维曲面图
<上一章> <回主页> <下一章>