Qt Designerで生成されたのAxisItemをpyqtgraphの既存のPlotWidgetに追加しようとしています。関連トピックhereがありますが、コード例での正確な答えはありません。コメントできませんので、新しいトピックを作成しました。既存のPlotWidgetにカスタムAxisItemを追加するには?
これは私のカスタム(thisコードに基づく)AxisItemです:
import pyqtgraph as pg
import datetime
def int2td(ts):
return(datetime.timedelta(seconds=float(ts)/1e6))
class TimeAxisItem(pg.AxisItem):
def __init__(self, *args, **kwargs):
super(TimeAxisItem, self).__init__(*args, **kwargs)
def tickStrings(self, values, scale, spacing):
return [int2dt(value).strftime("%H:%M:%S") for value in values]
は、これが私のメインQtPlotterクラスです:
from pyqtgraph.Qt import QtGui
from template_pyqt import Ui_Form # Ui_Form is generated by Qt Designer
class QtPlotter:
def __init__(self):
self.app = QtGui.QApplication([])
self.win = QtGui.QWidget()
self.ui = Ui_Form()
self.ui.setupUi(self.win)
self.win.show()
self.ui_plot = self.ui.plot
self.ui_plot.showGrid(x=True, y=True)
そして、私は私を追加しようとしていますカスタムAxisItem:
self.ui_plot.getPlotItem().axes['bottom']['item'] = TimeAxisItem(orientation='bottom')
エラーはありませんが、これは何の効果もありません。