У меня есть приложение, в котором мои пользователи запрашивают сглаживание кривых, соединяющих точки на линии или точечной диаграмме. Обычно это вариант в электронных таблицах.
Вот примерный пример построения функции синуса с точками каждые 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_()
Мне бы хотелось, чтобы я мог получить плавную кривую по точкам, как на этом графике из LibreOffice:
Есть ли Любой способ сделать это в Pyqtgraph? В этом примере я могу получить более плавную кривую, просто рисуя каждый 1 градус вместо каждых 45 градусов. Однако в моем приложении реального мира я загружаю данные из инструмента GPIB. И это медленно. Поэтому, если бы я получил больше очков от своего инструмента, мое приложение стало бы еще более медленным, чем сейчас.