Гладкие точечные / линейные графики в pyqtgraph? - PullRequest
0 голосов
/ 30 января 2020

У меня есть приложение, в котором мои пользователи запрашивают сглаживание кривых, соединяющих точки на линии или точечной диаграмме. Обычно это вариант в электронных таблицах.

Вот примерный пример построения функции синуса с точками каждые 45 градусов.

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg

app = QtGui.QApplication([])

win = pg.GraphicsWindow(title="Basic plotting examples")
win.resize(1000,600)
win.setWindowTitle('pyqtgraph example: Plotting')

# Enable antialiasing for prettier plots
pg.setConfigOptions(antialias=True)

angles = np.radians(np.arange(0,360+45, 45))

p1 = win.addPlot(title="Rough sine wave", y=np.sin(angles), symbolBrush=(255,0,0), symbolPen='w')

## Start Qt event loop unless running in interactive mode or using pyside.
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

enter image description here

Мне бы хотелось, чтобы я мог получить плавную кривую по точкам, как на этом графике из LibreOffice:

enter image description here

Есть ли Любой способ сделать это в Pyqtgraph? В этом примере я могу получить более плавную кривую, просто рисуя каждый 1 градус вместо каждых 45 градусов. Однако в моем приложении реального мира я загружаю данные из инструмента GPIB. И это медленно. Поэтому, если бы я получил больше очков от своего инструмента, мое приложение стало бы еще более медленным, чем сейчас.

...