0

を使用してオーバーレイプロットを生成し、それらを使用imshowして複数ページのpdfに印刷していmatplotlib.backends.backend_pdf.PdfPagesます。以下を使用して、オーバーレイの背景のアルファを 0 に設定しています。

edge = np.ma.masked_where(edge == 0, edge)
cmap = plt.cm.winter
cmap.set_bad('g', 0)

次に、次の 2 つの imshow コマンドを使用して背景画像にオーバーレイします。

plt.imshow(back[:, :, mid], cmap=plt.cm.gray, interpolation='nearest')
plt.imshow(edge[:, :, mid], cmap=cmap, interpolation='nearest', alpha=0.5)

matplotlib.pyplot.show()これにより、 を使用しても を使用しない場合に適切にレンダリングされる画像が生成されますmatplotlib.backends.backend_pdf.PdfPages.savefig()。具体的には、アルファ情報は呼び出しでは無視されimshowますが、呼び出しでは無視され、cmap.set_bad適切にレンダリングされます。

ありがとう、ジョセフ

4

1 に答える 1