Сохранение альфа-настроек в matplotlib imshow при использовании PdfPages для многостраничного экспорта PDF

Я генерирую наложенные участки, используя 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)

А затем наложить его на фоновое изображение с помощью следующих двух команд 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 вызов, который делает правильно.

Спасибо джозеф

1 ответ

Для тех, кто страдает от этой проблемы...

Решением было обновить Matplotlib до последней версии. Я использовал последнюю версию Matplotlib в репозиториях Ubuntu 12.04, но у меня было несколько версий позади. Ошибка устранена. Спасибо!

Другие вопросы по тегам