百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

pyqtgraph系列文章:折线图(pyqt绘制曲线)

off999 2024-10-31 14:03 41 浏览 0 评论

什么是pyqtgraph?

pyqtgraph是qtgraph支持python编程的套件,提供了一套基于pyqt的数据可视化分析的解决方案。包含折线图、柱状图、颜色图等等多种简易的实现可视化图表GUI编程的接口。

如何安装开发环境?

我通常安装python环境使用Anaconda套件进行安装,建议安装3.8以下的python版本。3.9和3.10版本暂时不支持pyqtgraph的套件。安装步骤如下:

  • 下载Anaconda

我下载的是Anaconda3.5.1,自动安装python3.7版本。官方下载路径:https://repo.anaconda.com/archive/Anaconda3-5.3.1-Windows-x86_64.exe

  • 安装python环境
  1. 安装Anaconda python套件,一路安装下去就可以了。安装完之后命令行输入python -V,回车,输出:Python 3.7.0,表示python环境已经安装好了。
  2. 命令行输入conda install pyqtgraph,等待安装完成,pyqtgraph就安装好了。
  3. 验证pyqtgraph是否成功安装。新建文件main.py,输入import pyqtgraph as pg,保存关闭文件。命令行输入python main.py执行,如果没有报错表示安装成功了。

什么是折线图?

折线图是由一个直角坐标系(也叫笛卡尔坐标系)、线、点组成的统计图表。通常用来表示一段数据(时间、变化)之内的一组或者多组数据的趋势。

折线图的适用场景和不适用场景

  • 适用场景
  1. 一组数据随另外一组有序的数据变化
  2. 多组数据随一组有序的数据变化
  • 不适用的场景
  1. 有序数据通常放在X轴,如果X轴数据过多,使用折线图导致折线堆叠,导致数据变化趋势堆积。
  2. 数据样本过多,数据组太多导致折线堆叠,难以聚焦重点。
  3. 数据组中的数据,大多数的值为0,折线图会出现很多三角形数据。

用pyqtgraph简单实现折线图

创建main.py,在文件中输入下面的代码。直接上代码吧,相信想要了解的人都可以看得懂,有疑问的同学也可以交流。

import os
import sys
import numpy as np
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore
from PyQt5.QtWidgets import QWidget, QApplication

# 定义Qt的ui处理类
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(600, 400)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "pyqtgraph example"))

# 定义UI的逻辑类
class MainWindow(QWidget, Ui_MainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.setStyleSheet("background-color:rgb(255,255,255)")
        self.showLineChart()
   
    # 处理折线图的函数
    def showLineChart(self):
        # 创建一个GraphicsWidget
        win = pg.GraphicsLayoutWidget(self, show=True)
        # 设置widget大小
        win.resize(600, 400)
        # 创建画笔
        chartPen = pg.mkPen(color=(107,200,224), width=2) 
        # 创建一个坐标系画板
        plot = win.addPlot(title="随机数据对比")
        # 加入随机的点数据
        plot.plot(y=np.random.normal(size=20), pen = chartPen, title="随机数据1")
        plot.plot(y=np.random.normal(size=20)+5, pen = chartPen, title="随机数据2", symbolPen='w')

if __name__ == '__main__':
    # 设置背景色
    pg.setConfigOption('background', 'w')
    # 设置平滑绘制
    pg.setConfigOptions(antialias = True)
    # 创建Application
    app = QApplication(sys.argv)
    # 创建对话框
    mainWidget = MainWindow()
    # 对话框显示
    mainWidget.show()
    # 执行app
    sys.exit(app.exec_())

执行结果展示

命令行输入:python main.py,在绘制区域可以拖动图标移动位置,也可以通过滚动鼠标放大/缩小。

核心代码注解

代码44行:设置背景颜色。

代码46行:设置绘制线条平滑绘制,如果不设置这一项,绘制的折线会有锯齿。

代码31行:再MainWindow上创建一个GraphicsWidget,参数self表示在MainWindow上创建。

代码35行:设置画笔颜色和宽度,可以根据需要对每一个曲线设置成想要的颜色和宽度。

代码37行:创建一个坐标系画板,创建之后坐标系就出来了。

代码40行:设置折线图数据。参数解释如下:

参数x:这里省略了参数x,是一个列表数据[],参数x是有序的数据。

参数y:是纵坐标点上的数据。

参数pen:就是绘制折线的画笔,可以设置画笔宽度,颜色等。

参数symbolBrush:这里省略了,可以设置数据所在圆点的颜色等。

参数symbolPen:设置后就表示需要绘制数据圆点。

相关推荐

qq游戏大厅官方下载正式版官网
  • qq游戏大厅官方下载正式版官网
  • qq游戏大厅官方下载正式版官网
  • qq游戏大厅官方下载正式版官网
  • qq游戏大厅官方下载正式版官网
红警2共和国之辉免费下载(手机版共和国之辉下载)

红警2共和国之辉下载方法如下1、首先打开电脑上的浏览器,在地址栏输入红警之家在官网的地址。2、点击地址栏后面的Go选项进入官网,红警之家,然后点击民国特别选项。3、单击立即下载选项,然后单击弹出页面上...

gif制作软件app(gif制作软件app推荐)

我有一个制作gif动画的exe软件,在电脑上直接打开就能用,如果需要,我可以发你哦!以下手机软件可以给GIF图片加文字:1、GIF制作appGIF制作app是一款专业编辑Gif文件工具,它可以实现gi...

ai绘图免费软件(ai制图软件免费)

推荐使用Procreate应用程序1因为它是一款功能强大的应用程序,具有出色的绘图和动画工具。2Procreate可以在iPad上使用,具有高质量的分辨率和颜色深度,可以创建出色的动画效果。3...

强力恢复数据软件免费版(强力数据恢复软件多少钱)
强力恢复数据软件免费版(强力数据恢复软件多少钱)

效果还是不错的,如果你的苹果手机有重要的数学不小心丟失了,就可以通过强力苹果恢复精灵找回来,而且真对手机不同的数据,都是非常到位的分类包括通讯类,图片以及其他三大版快若您要存储机身内存文件,聊天记录及连系人不慎删除且没有提前备份数据,那个...

2026-01-19 04:51 off999

魔兽地图下载网址(魔兽地图下载网址是什么)

魔兽地图可以通过以下步骤进行下载:打开魔兽地图下载网站,如hiveworkshop.com、epicwar.com等。在网站上搜索您想要下载的地图名称或关键词。找到您想要下载的地图后,点击下载按钮或链...

qq阅读免费版下载(qq阅读免费版下载2019)

有免费栏目,但是一般里面的书都不是很好看。然后有的好看的书有免费章节,比如前面60章是免费的,后面的就开始收费。个人建议,可以开个QQ阅读的会员,QQ阅读会员就有专门的免费专区,里面每周都会更新很多的...

实时变声器(实时变声器下载)

有不少安卓免费变声器软件推荐MorphVOXPro中文版。这是一款非常有趣的语音变声器软件,程序的主要功能可以帮助你在上网用QQ、YY、Skype网络电话或者其他聊天工具进行语音聊天时随心所欲的变换...

汉语大词典电子版(汉语大词典电子版pdf)

《汉语大字典》是当今世界上规模最大、收集汉字单字最多、释义最全的一部汉语字典。全书约2000万字,共收单字56000多个,几乎包括了各种古今文献和图书资料中出现的所有汉字,可以说是汉语字典的集大成者...

什么软件可以看电子书(什么软件看电子书不收费)
  • 什么软件可以看电子书(什么软件看电子书不收费)
  • 什么软件可以看电子书(什么软件看电子书不收费)
  • 什么软件可以看电子书(什么软件看电子书不收费)
  • 什么软件可以看电子书(什么软件看电子书不收费)
免费照片处理软件app(免费照片处理软件哪个最好)

首先打开Photoshop,导入一张照片点击打开打开照片之后,同时按ctrl+j复制一个图层在菜单栏里面选择“滤镜”——“锐化”——“智能锐化”适当将锐化的半径调高一些,勾选“更加精确”锐化后放大图片...

免费的ps电脑软件(免费的ps电脑软件有哪些)

.任何一个版本都不是免费的,但基本所有版本都有破解版或者绿色版,可以去360软件管家里面下载或者电脑管家里也有,最新版的是PSCC版。photoshop是adobe公司旗下的产品,正确来说,购买正...

拼音九键输入法(汉字输入法)
  • 拼音九键输入法(汉字输入法)
  • 拼音九键输入法(汉字输入法)
  • 拼音九键输入法(汉字输入法)
  • 拼音九键输入法(汉字输入法)
照片恢复(照片恢复免费版下载)

方法/步骤  1.首先下载一个数据恢复软件。  2.安装到电脑上,然后把手机和电脑连接起来。  3.接着我们用下载好的数据恢复软件扫描手机。  4.然后找出要恢复的文件照片。  5.在电脑上选在一个磁...

tiktok官方网站入口(tiktok官方网站入口免费)

入口就是TikTok商店卖家。具体步骤如下:为了加入TikTok商店,您首先需要一个TikTok帐户。一旦您拥有TikTok帐户并且超过了符合条件的年龄,就可以使用它注册为TikTok商店卖家。卖家...

取消回复欢迎 发表评论: