在 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 中显示平均值的主要内容,如果未能解决你的问题,请参考以下文章

在python的箱形图中显示平均值?

应用 pandas groupby 后,在绘图中添加条形以显示平均值

R Shiny 不会在闪亮的应用程序中显示输出,而只会在控制台中显示输出(以及如何正确计算子组的平均值)?

如何使用ggplot2显示箱线图中的所有平均值? [复制]

在球员计分计划中显示低于平均分

添加值时不会自动显示平均值