范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Pyqtgraph库基本功能介绍完结篇

  1 说明:
  =====
  1.1 继续讲解Pyqtgraph库的其他功能:
  1.2 回顾本人早前的2篇有关介绍:
  第1篇:《Pyqtgraph是Python平台上一种功能强大的2D/3D绘图库》
  第2篇:《Pyqtgraph库:作为数据可视化部分的python作图详解》
  第3篇:就是今天这篇,就是最后一篇。
  2 FillBetweenItem:
  =============
  2.1 代码:# -*- coding: utf-8 -*- import pyqtgraph as pg from pyqtgraph.Qt import QtGui, QtCore import numpy as np win = pg.plot() win.setWindowTitle("pyqtgraph example: FillBetweenItem") #x和y坐标轴取值范围 win.setXRange(-10, 10) win.setYRange(-10, 10) N = 200 #等差数列,从-10到10,生成200个等差数列 x = np.linspace(-10, 10, N) #返回e的幂次方 gauss = np.exp(-x**2 / 20.) #返回来一个给定形状和类型的用0填充的数组 mn = mx = np.zeros(len(x)) curves = [win.plot(x=x, y=np.zeros(len(x)), pen="k") for i in range(4)] #颜色,2种方法0~10法---少见;元组法()---常见 brushes = [0.5, (100, 100, 255), 0.5] #填充色列表 fills = [pg.FillBetweenItem(curves[i], curves[i+1], brushes[i]) for i in range(3)] for f in fills:     win.addItem(f) def update():     global mx, mn, curves, gauss, x     #np.random.normal,随机正态分布     a = 5 / abs(np.random.normal(loc=1, scale=0.2))     #np.abs函数返回x(数字)的绝对值。     y1 = -np.abs(a*gauss + np.random.normal(size=len(x)))     y2 =  np.abs(a*gauss + np.random.normal(size=len(x)))          s = 0.01     #np.where函数用法     mn = np.where(y1mx, y2, mx) * (1-s) + y2 * s     curves[0].setData(x, mn)     curves[1].setData(x, y1)     curves[2].setData(x, y2)     curves[3].setData(x, mx) #启动内部计时器 timer = QtCore.QTimer() timer.timeout.connect(update) timer.start(30) #30秒 QtGui.QApplication.instance().exec_()
  2.2 效果图:
  2.3 重点熟悉numpy的相关基础知识:
  ==========================
  2.3.1 np.linspace()函数:---简单
  np.linspace(-10, 10, N)
  就是生成从-10到10,生成200个等差数列。
  2.3.2 np.exp()函数:
  exp:高等数学里以自然常数e为底的指数函数。
  numpy.exp():返回e的幂次方,e是一个常数为2.71828。
  2.3.3 np.zeros()函数:---简单
  #返回来一个给定形状和类型的用0填充的数组。
  2.3.4 np.random.normal()函数,随机正态分布。
  2.3.5 np.abs()函数:返回x(数字)的绝对值---简单。
  2.3.6 np.where函数用法---有点复杂,此处不讲以后可以单独说明。
  3 调用GL的3D:
  ============
  3.1 代码:from pyqtgraph.Qt import QtCore, QtGui import pyqtgraph.opengl as gl import pyqtgraph as pg import numpy as np  app = QtGui.QApplication([]) w = gl.GLViewWidget() w.opts["distance"] = 40 w.show() w.setWindowTitle("pyqtgraph example: GLLinePlotItem")  gx = gl.GLGridItem() gx.rotate(90, 0, 1, 0) gx.translate(-10, 0, 0) w.addItem(gx) gy = gl.GLGridItem() gy.rotate(90, 1, 0, 0) gy.translate(0, -10, 0) w.addItem(gy) gz = gl.GLGridItem() gz.translate(0, 0, -10) w.addItem(gz)  def fn(x, y):     return np.cos((x**2 + y**2)**0.5)  n = 51 y = np.linspace(-10,10,n) x = np.linspace(-10,10,100)  for i in range(n):     yi = np.array([y[i]]*100)     d = (x**2 + yi**2)**0.5     z = 10 * np.cos(d) / (d+1)     #np.vstack():在竖直方向上堆叠;反之,np.hstack():在水平方向上平铺     pts = np.vstack([x,yi,z]).transpose()     plt = gl.GLLinePlotItem(pos=pts, color=pg.glColor((i,n*1.3)), width=(i+1)/10., antialias=True)     w.addItem(plt)      QtGui.QApplication.instance().exec_()
  3.2 效果图:
  4 制作表格:
  ========
  4.1 代码:import pyqtgraph as pg from pyqtgraph.Qt import QtCore, QtGui import numpy as np app = QtGui.QApplication([]) w = pg.TableWidget() w.show() #窗口大小及可调节 w.resize(500,500) #表格名称 w.setWindowTitle("表格:TableWidget") #数据及格式,可自定义,来自外部的文件 data = np.array(     [#第1行     (1,   1.6,   "小王"),     #第2行     (3,   5.4,   "y"),     #第3行     (8,   12.5,  "z"),     #第4行     (443, 1e-12, "w"),     ],     #表头及数据类型,支持中文     dtype=[("Column 1", int), ("列 2", float), ("Column 3", object)],     ) w.setData(data) QtGui.QApplication.instance().exec_()
  4.2 效果图:
  5 plot组合:
  ========
  5.1 代码:# -*- coding: utf-8 -*- from pyqtgraph.Qt import QtGui, QtCore import numpy as np import pyqtgraph as pg #初始化 app = pg.mkQApp() #定义mv=mainwindow=主窗口 mw = QtGui.QMainWindow() #定义窗口标题名,支持中文 mw.setWindowTitle("pyqtgraph example: PlotWidget") #定义窗口大小及可调节大小 mw.resize(800,800) #定义cw=centerwindow=中心窗口 cw = QtGui.QWidget() #挂在在mv上 mw.setCentralWidget(cw) l = QtGui.QVBoxLayout() cw.setLayout(l) #三个plot图的定义,挂在l上 pw = pg.PlotWidget(name="Plot1")  l.addWidget(pw) pw2 = pg.PlotWidget(name="Plot2") l.addWidget(pw2) pw3 = pg.PlotWidget() l.addWidget(pw3) #主窗口显示 mw.show()  p1 = pw.plot() p1.setPen((200,200,100))  rect = QtGui.QGraphicsRectItem(QtCore.QRectF(0, 0, 1, 5e-11)) rect.setPen(pg.mkPen(100, 200, 100)) pw.addItem(rect) #图1定义坐标轴标签:位置,标签名和单位 pw.setLabel("left", "Value", units="V") pw.setLabel("bottom", "Time", units="s") #x和y坐标轴取值范围:1e-10=100 pw.setYRange(0, 1e-10) pw.setXRange(0, 2) def rand(n):     data = np.random.random(n)     data[int(n*0.1):int(n*0.13)] += .5     data[int(n*0.18)] += 2     data[int(n*0.1):int(n*0.13)] *= 5     data[int(n*0.18)] *= 20     data *= 1e-12     return data, np.arange(n, n+len(data)) / float(n) def updateData():     yd, xd = rand(10000)     p1.setData(y=yd, x=xd) #启动内部计时器 t = QtCore.QTimer() t.timeout.connect(updateData) t.start(50) for i in range(0, 5):     for j in range(0, 3):         yd, xd = rand(10000)         pw2.plot(y=yd*(j+1), x=xd, params={"iter": i, "val": j}) ## Test large numbers curve = pw3.plot(np.random.normal(size=100)*1e0, clickable=True) curve.curve.setClickable(True) curve.setPen("w")  ## white pen curve.setShadowPen(pg.mkPen((70,70,30), width=6, cosmetic=True)) def clicked():     print("curve clicked") curve.sigClicked.connect(clicked) lr = pg.LinearRegionItem([1, 30], bounds=[0,100], movable=True) pw3.addItem(lr) line = pg.InfiniteLine(angle=90, movable=True) pw3.addItem(line) line.setBounds([0,200])  QtGui.QApplication.instance().exec_()
  5.2 效果图:
  ===感觉比matplotlib强大,交互性强,在制作图标和2D、3D上具有强大优势,而且很简单===
  喜欢的可以自己继续研究,很简单。
  记得点赞、关注、转发和收藏。

你家孩子三分钟都坐不住,多动症吧?家长警惕标签效应表弟家儿子今年3岁,入读幼儿园小班不到一年,就全园出了名,表弟华丽丽被请去园长办公室谈话了园长委婉表达,孩子有多动症倾向,希望家长及时带孩子治疗。孩子调皮,表弟心中也是清楚,当班的7岁女孩来月经,月治疗费用堪比还房贷!孩子性早熟,家长要了解坐公交出门办事,途中上来一对老人和孩子,孩子约莫两三年级的样子,一上车却不停嚷嚷我要坐位子,我要坐嘛!老人环视一周,好声相劝,孩子不甘心地从前车厢走到后车厢,无奈又旋到了车门边,站我打你都是为了你好!中国父母的焦虑,越完美越煎熬有一次,一群宝妈聚在一起聊天,聊着聊着说到了孩子的教育问题上。宝妈A的观点是孩子就要从小严格教育,哪怕让他们现在恨我,也好过长大之后埋怨我。宝妈B却表示反对意见孩子是一个独立的个体婴宝教你怎么辨别婴儿面霜很多妈妈在秋天的时候就开始关注各种婴儿面霜,准备买给婴儿使用。因为秋天的季节比较干燥,容易使婴儿的皮肤脱皮或是裂了,尤其是敏感肌的婴儿,就需要面霜涂抹。但是有些妈妈不清楚如何选择婴诺必行婴宝产品不合格调查婴幼儿护肤品的安全问题,一直牵动着父母们的心,特别是近年来宝宝霜频频爆雷,问题的严峻,使有关部门加大了对婴幼儿护肤品的监管力度。(诺必行产品婴宝护肤霜与婴宝特护膏)2021年3月,婴宝教你凡士林婴儿可以用吗秋冬季天气比较干,人们的皮肤容易干皮,为了保护自己的皮肤,人们往往会在自己皮肤干燥的地方涂抹适量凡士林,那么凡士林作为一款较为大众的保湿霜,可以适用于所有人群吗?凡士林婴儿可以用吗给爸爸的船单亲家庭的孩子,隐藏着许多不为人知的心理孩子满月,我们就离婚吧!这句戏谑之语,如今却成为越来越多婚姻生活的现实。近年来,离婚率不断攀高,结婚率却频频走低,不为孩子将就婚姻成为当下很多年轻夫妻的生活选择。然而,当婚姻无法继宝宝转奶状况不断?别只顾着挑奶粉品牌,这些配方成分更要知道小半年前,表妹升级做了新妈妈,于是朋友圈又多了一枚晒娃狂妈。不过晒归晒,孩子水灵灵白胖胖的样子着实令人喜欢,每每晒出,总有留言评价奶水不错嘛!的确,奶水足是表妹作为新妈妈的骄傲,可2020高考作文题出炉!文史社会地理,孩子需要全科书单今天的高考,因为一场疫情,充满了各种变数,也夹杂各人复杂感情。但终于,在推迟一个月后,迎来了尘埃落定的日子。此刻,语文科目已经考完,备受瞩目的高考作文题新鲜出炉,又一年成为众人的热李子柒上线小学语文毕业考大语文时代,改变学习方式迫在眉睫2020年海曙区小学语文毕业考试卷公布,引发了教育地震未来,孩子的语文到底该怎么学?孩子的班主任,在试卷出来的第一时间就在群里给我们家长敲了一记警钟,揣摩了一下老师的意思,归纳起来摔跤吧,爸爸被删的29分钟,道出现实家庭爱与控制真相知乎上有一个关于摔跤吧,爸爸的提问如何看待内地版本删减长达29分钟?有一个高赞回答特别触动人心直接导致了爸爸到底是一个纯粹的父权压迫角色?还是一个不那么善于表达的严父角色?我在电影
80后的感悟本人80后,赶上改革开放,赶上计划生育。小学自己上学放学,没有课后班,不饿不回家,双休日和小伙伴一起玩或帮助父母干活。寒暑假就去亲戚家串门,刷电视剧,西游记和新白娘子传奇假期必播。宝贝,我也是偶然成为你的妈妈十月怀胎,呱呱坠地,我当妈妈了。手忙脚乱的给你喂奶,一把屎一把尿的把你养大。我从一个爱美的少女,变成一个不修边幅的妈妈。看着你牙牙学语,蹒跚学步,肉嘟嘟的小嘴巴里喊着妈妈,妈妈。我80后的小学时代本人80后,幼儿园没上,不愿意去。7周岁上小学,零基础学语文数学,老师很负责,成绩还过的去。下课10分钟,和同学们玩跳皮筋,扔沙包,踢瓦块,丢手绢,老鹰抓小鸡等等等等,每天在学校就什么是自主招生?包括国家重点大学自主招生与高职自主招生两大类什么是自主招生?也就是自主选拔。目前,我国的自主招生分为两类,包括国家重点大学自主招生与高职院校自主招生两大类。写在前面目前很多学校都有自主招生,大多数人对于这种不了解。其实,这是国家承认的成人学历有哪些?出来社会后,想提升学历大专本科,国家承认的有哪几种?四种方式,分别是自学考试网络教育成人高考和国家开放大学。以上四种形式均属于国家承认的成人继续教育考试形式,考生毕业后拿到的是学信中秋佳节寻快乐今天是中秋之日,由于周大哥的夫人身体欠佳,老朋友们不宜相约外出赏月,所以选择了到大哥家团聚。周大哥的夫人名桂香,巧得很,金秋时节桂花儿香,来到大哥家里看望桂香老朋友,岂不是别有一番牛掰的万盛人我的名字叫国庆李国庆图片李国庆老家在湖北当阳,目前在区经济信息局挂职,任副局长,分管招商科和军民融合发展服务中心,协管信息化推进科和大数据应用发展中心投资促进科。说起名字的来历,李国庆是家族里的国字辈牛掰的万盛人我的名字叫国庆陈国庆图片9月23日,在南桐镇南桐村桃子村民小组的一家院坝内,陈国庆正在直播。我是1985年10月1日出生的,父母没有丝毫犹豫就给我起了国庆这个名字。国庆这个名字能给我带来正能量,我觉得万盛观察国庆快乐!致敬万盛国庆最可爱的人(一)金秋送爽,丹桂飘香当国庆长假来临举国同庆合家欢乐的背后有这么一群人在默默坚守兢兢业业,勤勤恳恳在平凡的岗位上一如既往地坚守社区服务不停歇他们用坚守诠释欢庆用实际行动表达对祖国的祝福牛掰的万盛人我的名字叫国庆梅国庆图片一名95后叫国庆,总让人感觉老成,而家住建和丽都小区的梅国庆却不以为意,他认为比起同时代叫轩宇浩瑞的人,自己的名字很酷。梅国庆回忆,他的名字是爷爷起的,因为他恰巧出生在国庆节的如何教小朋友下象棋?爸妈可以这样做,既能开发智力还能激发兴趣如何教小朋友下象棋?各位爸爸妈妈可以这样做。不仅可以提高小朋友们对象棋的兴趣,还有助于开发小朋友的智力。象棋在我国流传已久,学会下象棋的话,不仅可以培养孩子的耐心思考能力还可以帮助