在 PyQtGraph 中显示平均值
Posted
技术标签:
【中文标题】在 PyQtGraph 中显示平均值【英文标题】:Display Average in PyQtGraph 【发布时间】:2017-04-12 12:29:38 【问题描述】:我很好奇如何在 PyQtGraph 中使用 average feature(可通过上下文菜单访问 Plot Options
> Average
)。
我预计会发生什么: 我有一个曲线图,它不断更新。当我激活平均时,我可以选择曲线被平均和显示的轨迹数。我最终得到一条曲线,更新更顺畅。禁用原始(非平均)曲线也很好。例如,此功能在现代示波器中非常常见。
会发生什么:
我打开示例Benchmarks
> Line Plot update
并选择Average
。然后原始曲线继续更新(白色),并出现一条新曲线,它是我激活平均按钮时曲线的副本(我认为)。 Average
下方的字段为空。
我感觉我误解了这种平均功能的工作原理。在source code 中,您似乎可以对指定参数进行平均,但我不知道如何定义一个。
谁能帮我解决这个困惑,或者这个功能是否记录在某个地方(我找不到任何东西)?
【问题讨论】:
【参考方案1】:通过勾选按钮,图表上多条曲线的平均曲线将用绿色笔绘制出来。
如下图,绿色曲线是两条白色曲线的平均数据。
import sys
from PyQt5 import QtWidgets, QtCore
import pyqtgraph as pg
class Draw_interface(QtWidgets.QMainWindow):
def __init__(self):
super(Draw_interface, self).__init__()
p1 = pg.PlotWidget(name = "Plot1")
# Draw charts
y = [2.2, 3.0, 1.3, 2.5, 1.9, 2.2, 5.5, 6.6]
y2 = [2.3, 3.3, 2.8, 2.2, 3.3, 3.1, 2.8, 4.4]
p1.plot(y)
p1.plot(y2)
l = QtWidgets.QVBoxLayout()
l.addWidget(p1)
w = QtWidgets.QWidget()
w.setLayout(l)
self.setCentralWidget(w)
self.setStyleSheet("QWidget background-color: black; ")
def main():
QtWidgets.QApplication.setAttribute(QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
app = QtWidgets.QApplication(sys.argv)
main = Draw_interface()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
【讨论】:
以上是关于在 PyQtGraph 中显示平均值的主要内容,如果未能解决你的问题,请参考以下文章
应用 pandas groupby 后,在绘图中添加条形以显示平均值