Я хочу установить axisItems в PlotItem с помощью pyqtgraph. При выполнении кода возникла ошибка.
Вот мой код:
import numpy as np
import pyqtgraph as pg
app = pg.mkQApp("app")
x = np.linspace(0, 10, 1000)
y = np.sin(x)
plot_item = pg.PlotItem()
plot_item.setAxisItems(axisItems={'bottom':pg.AxisItem('bottom')}) # error occurs here
plot_item.plot(x, y)
plot_item.setTitle("Sine Wave Plot")
plot_item.setLabel("left", "Amplitude", units="V")
plot_item.setLabel("bottom", "Time", units="s")
plot_item.showGrid(True, True)
win = pg.GraphicsLayoutWidget()
win.setWindowTitle("PlotItem Example")
win.resize(800, 600)
win.addItem(plot_item)
win.show()
app.exec()
Когда я запускаю этот код, он показывает следующую ошибку:
Traceback (most recent call last):
File "E:\Workspace\Python\VNPY-master\examples\candle_chart\tick\item\main.py", line 42, in
plotItem.setAxisItems(axisItems={'bottom':pg.AxisItem('bottom')})
File "E:\home\.conda\envs\Python310\lib\site-packages\pyqtgraph\graphicsItems\PlotItem\PlotItem.py", line 312, in setAxisItems
oldAxis.scene().removeItem(oldAxis)
AttributeError: 'NoneType' object has no attribute 'removeItem'
Я попытался установить ось при инициализации PlotItem, это удалось. но как установить оси после инициализации PlotItem?
import pyqtgraph as pg
import numpy as np
app = pg.mkQApp("app")
x = np.linspace(0, 10, 1000)
y = np.sin(x)
plot_item = pg.PlotItem(axisItems={'bottom':pg.AxisItem('bottom')}) #run successfully
plot_item.plot(x, y)
plot_item.setTitle("Sine Wave Plot")
plot_item.setLabel("left", "Amplitude", units="V")
plot_item.setLabel("bottom", "Time", units="s")
plot_item.showGrid(True, True)
win = pg.GraphicsLayoutWidget()
win.setWindowTitle("PlotItem Example")
win.resize(800, 600)
win.addItem(plot_item)
win.show()
app.exec()
Подробнее здесь: https://stackoverflow.com/questions/782 ... removeitem