Сохранение альфа-настроек в 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, но у меня было несколько версий позади. Ошибка устранена. Спасибо!