我在pyqtgraph中繪製圖像,我希望能夠看到網格線。但網格線總是繪製在圖像下方,因此圖像的任何黑色區域都會遮擋網格。這是一個相當簡單的例子:在pyqtgraph中顯示網格線圖像
import matplotlib # necessary for interactive plots in pyqtgraph
import pyqtgraph as pg
import numpy as np
n = 100000
sigma_y = 1e-3
sigma_x = 1e-3
x0 = np.matrix([np.random.normal(0, sigma_x, n), np.random.normal(0, sigma_y, n)])
bins = 30
histogram, x_edges, y_edges = np.histogram2d(np.asarray(x0)[0], np.asarray(x0)[1], bins)
x_range = x_edges[-1] - x_edges[0]
y_range = y_edges[-1] - y_edges[0]
imv = pg.ImageView(view=pg.PlotItem())
imv.show()
imv.setPredefinedGradient('thermal')
imv.getView().showGrid(True, True)
imv.setImage(histogram, pos=(x_edges[0], y_edges[0]), scale=(x_range/bins, y_range/bins))
這是我看到的(縮小一點後)。您可以看到圖像的黑色區域遮擋網格線。
編輯:有可能在GUI中的黑色改變爲透明(不是我的第一選擇,但現在一個確定的解決方法),所以你可以看到下面的圖像的網格。這工作正常,但我不知道如何在代碼中做到這一點。我如何從ImageView
中獲取查找表來修改它?
色階由幾種顏色之間的漸變組成。這些由顏色條右側的三角形表示。如果您單擊底部的黑色三角形,將會彈出一個對話框,您可以從該對話框中更改該設置點的顏色。將alpha分量設置爲0以使下面的和比例透明。看到它適合你。我相信它也可以通過編程來完成。 – titusjan
這實際上並不壞,並且比我預期的更好看。但我仍然希望在圖像上方看到一條(微弱的)網格線。 – benshepherd