現在、私はArduinoからの着信データを持っているプロットしているGUIに取り組んでいます。今、それは最後の50サンプルに対してプロットされています。私はX軸のサイズを増やす方法を見つけましたが、データが入ってくるとシフトすることを望みます。それは見えたサンプルではなく時間の表現になります。私はx軸ラベルをどのように置くことができるかを見たいと思います。私はmatplotlibメソッドを試してみましたが、うまくいきませんでした。pyqt5を使ったスクロールX軸
class GUI(QWidget, Ui_DynoTest1):
def __init__(self, parent=None, border = None):
# This is what is used to make the graph.
QWidget.__init__(self, parent)
self.setupUi(self)
self.thread = GetData(self)
self.thread.dataChanged.connect(self.onDataChanged)
self.thread.start()
self.torque = []
self.horse_power = []
layout = QHBoxLayout()
self.plot = pg.PlotWidget()
layout.addWidget(self.plot)
self.plot.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
self.graphicsView.setLayout(layout)
self.p1 = self.plot.plotItem
self.p1.setLabels(left='Torque')
self.TorqueCurve = self.p1.plot()
self.TorqueCurve.setPen(pg.mkPen(QColor(0,0,0), width=2.5))
self.p2 = pg.ViewBox()
self.HorsePowerCurve = pg.PlotCurveItem()
self.HorsePowerCurve.setPen(pg.mkPen(QColor(0, 0, 255), width=2.5))
self.p2.addItem(self.HorsePowerCurve)
self.p1.scene().addItem(self.p2)
self.p1.showAxis('right')
self.p1.getAxis('right').setLabel('HorsePower', color='#0000ff')
self.p1.getAxis('right').linkToView(self.p2)
self.p1.vb.sigResized.connect(self.updateViews)
if len(self.torque) < 50:
self.torque.append(Torque)
else:
self.torque[:-1] = self.torque[1:] + [Torque]
if len(self.horse_power) < 50:
self.horse_power.append(HorsePower)
else:
self.horse_power[:-1] = self.horse_power[1:] + [HorsePower]
self.TorqueCurve.setData(self.torque)
self.HorsePowerCurve.setData(self.horse_power)
self.updateViews()
x軸が1,2,3、... 50のように変化し、2,3,4、... 51の後に瞬間があり、もう1つの時間が3であることがわかっているからです。 4,5、..、52。私は正しい? – eyllanesc
あなたが提供するコードは 'pg'を定義していません。それは何ですか? –
@PaulCornelius pgはpyqtgraph – eyllanesc