Как экспортировать участки из matplotlib с прозрачным фоном?



Я использую matplotlib, чтобы сделать некоторые графики, и, к сожалению, я не могу экспортировать их без белого фона.



sample plot with solid white background

853   2  

2 ответов:

используйте matplotlib savefig функция с ключевым словом аргумент transparent=True для сохранения изображения в формате png.

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

результат: demo.png

конечно, этот сюжет не демонстрирует прозрачность. Вот скриншот файла PNG, отображаемого с помощью ImageMagick . Шахматный узор-это фон, который виден через прозрачные части файла PNG.

display screenshot

Png файлы могут обрабатывать прозрачность. Так что вы могли бы использовать этот вопрос сохранить участок в файл изображения вместо отображения его с помощью Matplotlib сохранить график как .

и если вы хотите сделать все белые пиксели прозрачными, есть еще один вопрос:используя PIL, чтобы сделать все белые пиксели прозрачными?

Если вы хотите превратить всю область в прозрачную, то есть этот вопрос: а затем использовать библиотеку PIL, как в этот вопрос Python PIL: как сделать область прозрачной в PNG? чтобы сделать ваш график прозрачным.

Comments

    Ничего не найдено.