引言

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

目的

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

图中显示的横、纵坐标的实际值分别为[[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行,产生波形的x、y数据及对应的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行,产生波形的x、y数据及对应的x轴的字符信息列表

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

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

欢迎加关注,共同交流。

python画xy轴_Python+pyqtgraph数据可视化:自定义坐标轴信息相关推荐

  1. python画xy轴_python画双y轴图像的示例代码

    很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴. matplotlib和seaborn都可以画双y轴图像. 一个例子: import ...

  2. python画xy轴_python中的坐标轴该如何画?好画吗?

    曾经的数学爱搭不理,结果在工作中发现需要用python去解决相关的问题.数学不好的小伙伴已经开始发愁了.不要着急,小编跟你们一起想办法.为了方便python小白的理解,我们还是从最基础的入手.基础知识 ...

  3. python画xy轴_用python建立两个Y轴的XY曲线图方法

    想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图. 效果为: 代码如下: #创建Quatype,作为标记,用于判断 ...

  4. 用python画动图_Python 绘图与可视化 matplotlib 制作Gif动图

    参考链接:https://blog.csdn.net/theonegis/article/details/51037850 我们可以使用Matplotlib的animation类的FuncAnimat ...

  5. python画罗小黑_python股票数据聚类算法:罗小黑战记的股票_XAC配资之家

    python股票数据聚类算法:罗小黑战记的股票 你好朋友,本文将为你分析python股票数据聚类算法怎么样以及罗小黑战记的股票的相关问题,如有任何疑问和留言咨询站长!有了尊严,我们的人生才会快乐.美好 ...

  6. python画xy轴折线在拐点处加汉字_解决python中画图时x,y轴名称出现中文乱码的问题...

    如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_ ...

  7. 在R、Python和Julia中常用的数据可视化技术

    俗话说"一图胜千言".通过各种图片和图形化展示,我们可以更清晰地表达很多抽象概念.理论.数据模式或某些想法.在本章中,我们首先解释为什么应该关心数据可视化.然后,我们将讨论几种在R ...

  8. python 画三维函数图-Python画三维图-----插值平滑数据

    一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...

  9. Python: 除matplotlib外还有哪些数据可视化库?

    Python: 除matplotlib外还有哪些数据可视化库? matplotlib算是python比较底层的可视化库,可定制性强.图表资源丰富.简单易用.达到出版质量级别. 其它的可视化库诸如: s ...

最新文章

  1. 通过一个案例理解 JWT
  2. 为什么你应该深入Github
  3. Linux中的基础和小工具
  4. date制作电子时钟
  5. boost::polygon模块实现多边形间隔相关的测试程序
  6. IIS上的web service调用AX服务问题
  7. ABB机器人的错误处理
  8. java参数化查询_小博老师解析Java核心技术 ——JDBC参数化查询(二)
  9. 为什么内联函数,构造函数,静态成员函数不能为virtual函数
  10. 前端学习(2254)team怎么接受到pr
  11. 水印生成器第2版[原图质量水印可自定义设置]
  12. Python3中使用json将字典转为json文件中的乱码问题
  13. c语言程序与结构,c语言基础与顺序结构-c语言程序设计.ppt
  14. Linux网络抓包工具tcpdump
  15. 数据结构(C语言)——电话号码查询系统实现
  16. 用HTML搞一个汇率转换器,Currency Converter:实时汇率转换
  17. “(null)” is of a model that is not supported by this version of Xcode. Ple
  18. 如何一键远程开机,远程唤醒功能
  19. 锐文科技智能网卡xNIC-200/400在国产服务器测试性能报告
  20. 计算机毕业设计Java醋坊定制销售平台(源码+系统+mysql数据库+lw文档)

热门文章

  1. 张天钰 内大计算机学院,计算机学院学风建设情况通报
  2. python基础数据类型(二)
  3. Unity中将3D模型显示在UI上或者显示在UI前面
  4. 情人节礼物 浪漫至死不渝
  5. 监狱兔-我最喜欢的卡通片
  6. 《市场调查与分析》:在校大学生对微信小程序的使用情况
  7. 如何把文字转换成语音,这里给你答案
  8. 企业微信分享出来的小程序提示找不到页面
  9. 《利用python进行数据分析》之处理缺失数据
  10. React中的dav.js脚手架