时间:2021-05-22
1、pyqtgraph库数据可视化效果还不错,特别是窗体程序中图像交互性较好;安装也很方便,用 pip 安装。
2、在Python中新建一个 .py 文件,然后写入如下代码并执行可以得到官方提供的很多案例(含代码),出现如下界面图像:
import pyqtgraph.examples
pyqtgraph.examples.run()
图1
图2
图3
4、程序默认是黑色背景,这个是可以修改的。比如,在程序的开头部分写入如下代码就可以修改背景:
pg.setConfigOption('background', 'w')
pg.setConfigOption('foreground', 'k')
更多说明,见 pyqtgraph 官网:http://box1.currentText()) v5_wlayout.removeWidget(self.tmp_plt) self.tmp_plt = plt_show(num) v5_wlayout.addWidget(self.tmp_plt) print("*****显示打印*****")if __name__ == '__main__': cgitb.enable(format="text") app = QApplication(sys.argv) win = Qt_Test_Frame() sys.exit(app.exec_())
处理把列表文件转成字典与绘图
# pyqt5_graph.py 文件名 import pyqtgraph as pgfrom TmpData import _read_data, wind_mach_chooicecolour = ["r", "g", "b"]yp_list = ["叶片1", "叶片2", "叶片3"]def _data_to_dict(): mydict = {} for my_vars, i in zip(_read_data(), range(len(_read_data()))): tmp_dict = {} for var, j in zip(my_vars, range(len(my_vars))): tmp_dict[var[0]] =var[1] mydict[i] = tmp_dict return mydictdef plt_init(): # 绘图初始化 pg.setConfigOption("background", "w") plt = pg.PlotWidget() plt.addLegend(size=(150, 80)) plt.showGrid(x=True, y=True, alpha=0.5) return pltdef plt_show(num): # 传绘制的新图 mydict = _data_to_dict() pg.setConfigOption("background", "w") plt = pg.PlotWidget() plt.addLegend(size=(150, 80)) plt.showGrid(x=True, y=True, alpha=0.5) for i in num.split(","): i = int(i)-1 plt.plot(x=list(mydict[i].keys()), y=list(mydict[i].values()), pen=colour[i], name=yp_list[i]) return pltif __name__ == '__main__': _data_to_dict() pass模拟给其它文件传指定数据
# TmpData.py 文件名import osimport numpy as npfile_path = os.path.join(os.getcwd(), "风机采集信号数据\\")wind_field = ["风场1", "风场2", "风场3"]wind_machine = {"风场1":["大别山", "天目山"], "风场2":["昆仑山", "三清山"], "风场3":["五指山", "火焰山"]}wind_blade = ["X-20Hz", "X-1K", "Y-20Hz", "Y-1K"]signal_type = ["包络", "振动"]tmp_time_list = ["20190501", "20190502", "20190504", "20190508", "20190515"]def wind_mach_chooice(val): return wind_machine[val]def _read_data(): file_list = os.listdir(file_path) file_list = [var for var in file_list if var.split(".")[1] == "csv"] a = [] for var in file_list: tmp = os.path.join(file_path, var) rd_file = np.loadtxt(tmp, delimiter=",", usecols=(0, 1)) a.append(rd_file) return a[0], a[1], a[2]多线程管理
因为程序运行时间久,主界面就会出现假死的状态,要引用多线程
# Mythreading.py 文件名from PyQt5.QtCore import QThread, pyqtSignalclass RunThread(QThread): counter_value = pyqtSignal(int) def __init__(self, target, args, name=""): QThread.__init__(self) self.target = target self.args = args self.is_running = True def run(self): #print("starting",self.name, "at:",ctime()) self.res = self.target(*self.args) def stop(self): # 负责停止线程 self.terminate()关于QT异常直接退出没有报错的情况,查bug比较麻烦
import cgitb# 这句放在所有程序开始前,这样就可以正常打印异常了cgitb.enable(format="text")这些天本人身体不舒服,但还是把做完的这个分享出来,有些细节没有具体说明,下次身体好点,再单独拿出来分享,累了,晚安!
以上这篇Python3.x+pyqtgraph实现数据可视化教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
基于python代码的3D地图可视化,供大家参考,具体内容如下介绍使用Python对地图进行3D可视化。以地图为地图,可以在三维空间对轨迹、点进行可视化。库我们
PyQtGraph是纯Python的,只是它底层调用的是PyQt,也就是Qt的Python封装,底层用C/C++语言开发的库,它是在PyQt的基础上开发的可视化
基于Web的数据可视化概述。所谓基于Web的数据可视化技术,就是要在Web页面上实现动态数据图表,重点解决以下3个问题:一是获取动态的数据;二是传递数据信息;三
1、pyecharts介绍Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类
pyqtgraph官方给的示例居然会报错2333官方文档传送门:#####pyqtgraphexportpyqtgraph支持在可视化窗口中右键保存(Expor