1, pyqtgraph库数据皇冠体育网站开发haozbbs.com Q1446595067可视化效果还不错,特别是窗体程序中图像交互性较好,安装也很方便,用脉冲安装。
2,在Python中新建一个. py文件,然后写入如下代码并执行可以得到官方提供的很多案例(含代码),出现如下界面图像:
<代码>进口pyqtgraph.examples pyqtgraph.examples.run() 代码>
图1
图2
图3
4,程序默认是黑色背景,这个是可以修改的。比如,在程序的开头部分写入如下代码就可以修改背景:
<代码> pg。setConfigOption(“背景”、“w”) pg.setConfigOption(“前景”、“k”) 代码>
更多说明,见pyqtgraph官网:http://www.pyqtgraph.org/documentation/style.html,“行,填充,和颜色”部分的“默认背景和前景颜色”部分。
5,一个修改背景颜色的完整案例如下,可以直接运行程序:
<代码>进口numpy np 进口pyqtgraph pg 从pyqtgraph。Qt进口QtGui QtCore #如下两行代码是我自己加入的,目的是修改默认的黑色背景为其它颜色背景 pg.setConfigOption(“背景”、“w”) pg.setConfigOption(“前景”、“k”) 从pyqtgraph。点导入点 #生成布局 应用=QtGui.QApplication ([]) 赢得=pg.GraphicsWindow () 赢了。setWindowTitle (pyqtgraph例子:十字) 标签=pg.LabelItem(证明=罢返摹? win.addItem(标签) p1=赢。addPlot(行=1,坳=0) p2=赢。addPlot(行=2,坳=0) 地区=pg.LinearRegionItem () region.setZValue (10) #添加LinearRegionItem ViewBox,但告诉ViewBox排除 #项目时auto-range计算。 p2。addItem(地区,ignoreBounds=True) # pg.dbg () p1.setAutoVisible (y=True) #创建numpy数组 #让xrange大显示的数字显示数据从10000到0 data1=10000 + 15000 * pg.gaussianFilter (np.random.random(大?10000),10)+ 3000 * np.random.random(大?10000) data2=15000 + 15000 * pg.gaussianFilter (np.random.random(大?10000),10)+ 3000 * np.random.random(大?10000) p1。情节(data1、笔=皉”) p1。情节(data2笔=癵”) p2。情节(data1、笔=皐”) def更新(): region.setZValue (10) 风骚女子,maxX=region.getRegion () p1。setXRange(风骚女子maxX、填充=0) region.sigRegionChanged.connect(更新) def updateRegion(窗口,viewRange): rgn=viewRange [0] region.setRegion (rgn) p1.sigRangeChanged.connect (updateRegion) 地区。setRegion ((1000、2000)) #十字线 vLine=pg.InfiniteLine(角=90,移动=False) 线=pg.InfiniteLine(角=0,活动=False) p1。addItem (vLine ignoreBounds=True) p1。ignoreBounds=True addItem(线) vb=p1.vb def mouseMoved (evt): pos=evt[0] # #使用信号代理把原始参数变成一个元组 如果p1.sceneBoundingRect () .contains (pos): mousePoint=vb.mapSceneToView (pos) 指数=int (mousePoint.x ()) 如果指数比;0和索引& lt;len (data1): label.setText (“& lt;跨风格='字体大小:12 pt在x=% 0.1 f, & lt;跨风格=颜色:红色的祝辞日元=% 0.1 f, & lt;跨风格=颜色:绿色的祝辞y2=% 0.1 f”% (mousePoint.x (), data1(指数),data2(指数))) vLine.setPos (mousePoint.x ()) hLine.setPos (mousePoint.y ()) 代理=pg.SignalProxy (p1.scene ()。sigMouseMoved rateLimit=60,槽=mouseMoved) # p1.scene () .sigMouseMoved.connect (mouseMoved) # # Qt开始事件循环,除非以交互模式运行或使用pyside。 if __name__==癬_main__”: 导入系统 是否(sys.flags.interactive !=1) hasattr (QtCore PYQT_VERSION”): .exec_ QtGui.QApplication.instance()() 代码>