imshow
을 사용하여 오버레이 된 플롯을 생성하고 matplotlib.backends.backend_pdf.PdfPages
을 사용하여 멀티 페이지 pdf로 인쇄합니다. 내가 사용 0으로 오버레이 배경의 알파를 설정 해요 :다중 페이지 PDF 내보내기를 위해 PdfPages를 사용할 때 matplotlib imshow에서 알파 설정 유지
edge = np.ma.masked_where(edge == 0, edge)
cmap = plt.cm.winter
cmap.set_bad('g', 0)
를 그리고 명령 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
호출에서는 무시됩니다.
감사합니다, 조셉
이 문제로 고통 사람에게
아마도 https://github.com/matplotlib/matplotlib/issues/2517, – tacaswell
과 관련이 있으며 더 많은 코드를 추가하여이 문제를 보여줄 수있는 복사 가능 예제가 있어야합니다 (합성 데이터 사용). http://www.sscce.org/ 해결 방법은 자신의 매핑을 수행하고 알파를 조정 한 다음 rgba 배열을 전달하는 것입니다. – tacaswell