打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python语言使用pyqtgraph库实现数据可视化之自定义坐标轴信息

引言

pyqtgraphPython平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于内部实现方式上,使用了高速计算的numpy信号处理库以及QtGraphicsView框架,因此,它在大数据量的数字处理和快速显示方面有着巨大的优势,它适合于需要快速绘图更新、视频或实时交互性的操作场合。另外,它不仅为各种数据提供了快速可交互式的图形显示,同时也提供了用于快速开发应用程序的各种小工具,如属性树、流程图等小部件,在数学、科学和工程领域都有着广泛的应用。

目的

在画二维数据波形图时,有时在横坐标刻度信息上显示的是一些说明性的字符信息,而非原始的横坐标数值,如下图所示:

 

  

图中显示的横、纵坐标的实际值分别为[[0,1,2,3,4,5][1,2,6,3,5,2]],而在图形的横坐标轴刻度上显示的是字符信息[a,b,c,d,e,f],这些字符分别对应了数值[0,1,2,3,4,5]。这儿介绍Python语言中使用pyqtgraph库实现这种功能的两种方法。

方法1

其原则是,直接使用pyqtgraph库提供的轴项类AxisItem,定义它的一个实例对象,调用该类的setTicks函数设置横坐标轴的字符信息,代码如下:

 

  

代码简要说明如下:

1. 14-16行,产生波形的xy数据及对应的x轴的字符信息列表

2. 20行,将x数值及字对应字符组成一个元组的列表

3. 25-26行,创建轴项类AxisItem的实例对象strAxis,并调用setTicks函数设置横坐标的字符信息

4. 29-30行,使用strAxis创建绘图对象并绘制波形图

方法2

其原则是,以pyqtgraph库提供的轴项类AxisItem作为基类,在程序中创建一个自定义的轴项类,类中重定义函数tickStrings来实现横坐标刻度的的字符信息显示,代码如下:

 

  

代码简要说明如下:

1. 13-29行,以pyqtgraph库提供的AxisItem作为基类自定义了一个轴项类MyStringAxis,在类中重定义tickStrings函数,实现横坐标刻度的的字符信息显示

2. 33-35行,产生波形的xy数据及对应的x轴的字符信息列表

3. 39行,将x数值及字对应字符组成一个元组的列表

4. 42-44行,创建自定义类MyStringAxis的实例对象strAxis,用其创建绘图对象并绘制波形图

 

欢迎加关注,共同交流。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Origin绘图时使用“自定义标签”来实现的“非等分坐标轴”的方法
推荐一款科研必备的Python数据可视化神器——PyQtGraph
收藏|如何利用python画出令编辑眼前一亮的论文图片(一)
09-选择适合你的Python可视化工具(续)
在GUI窗口中绘制一个茅台股票K线图
python 脏话处理、特殊词汇过滤!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服