Python3.x + pyqtgraph实皇冠现体育网站开发数据可视化

  

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()()  

Python3.x + pyqtgraph实皇冠现体育网站开发数据可视化