将轴标签和标题添加到 PyQtGraph ImageView

dud*_*del 2 python pyqt pyqtgraph

我使用 PyQtGraph ImageView 来显示多维数据。

向此类 ImageView 添加轴标签和标题的最简单方法是什么?

我尝试将 LabelItem 添加到底层 ViewBox 中。我认为正确定位它需要破解底层布局。这是要走的路,还是有更简单的方法?

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

app = QtGui.QApplication([])

# make ImageView with test data
imv = pg.ImageView()
data = np.fromfunction(lambda i, j: np.sin(i/16)*j/128, (512, 512), dtype=float) \
     + np.random.normal(scale=0.2, size=(512, 512))
imv.setImage(data)

# add label
vbox = imv.getView()
vbox.addItem(pg.LabelItem("this is a nice label"))

imv.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

PyQtGraph ImageView 示例

小智 6

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

app = QtGui.QApplication([])

# Add Plot item to show axis labels
plot = pg.PlotItem()
plot.setLabel(axis='left', text='Y-axis')
plot.setLabel(axis='bottom', text='X-axis')

# make ImageView with test data
imv = pg.ImageView(view=plot)  # set the plot to ImageView's view  
data = np.fromfunction(lambda i, j: np.sin(i/16)*j/128, (512, 512), dtype=float) + np.random.normal(scale=0.2, size=(512, 512))
imv.setImage(data)

# add label
vbox = imv.getView()
vbox.addItem(pg.LabelItem("this is a nice label"))

imv.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述