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))
これは、私が(少しズームアウトした後の)ものです。画像の黒い部分がグリッド線を覆い隠していることがわかります。
EDIT:それは透明(ない私の最初の選択が、今のところOK回避策)に黒の色を変更するGUIで可能ですので、あなたは、画像の下にグリッドを表示することができます。それは正常に動作しますが、私はコードでそれを行う方法を理解することはできません。どのようにしてImageView
のルックアップテーブルを変更して変更するには?
カラースケールは、いくつかの色の間のグラデーションで構成されています。これらは、カラーバーの右側の三角で示されます。下の黒い三角形をクリックすると、その設定点の色を変更できるダイアログが表示されます。アルファ成分を0に設定すると、スケールの下端と下端が透明になります。それはあなたのために動作します参照してください。私はそれがプログラムでも実行できると確信しています。 – titusjan
それは実際に悪くない、と私は予想以上に見ている。しかし、私はまだ画像の上に(かすかな)グリッド線が表示されることを望んでいます。 – benshepherd