Я'м возникли проблемы с пытаясь спасти некоторые участки с прозрачной эллипсоидов на них, если я попытаюсь спасти их .ПС/.расширений ЭПС.
Здесь'ы сюжет сохраняется как .ПНГ:
Если я выбрать, чтобы сохранить его как .ПС/.ЭПС вот как это выглядит:
Как я получил вокруг этого, было использовать ImageMagick, чтобы преобразовать исходный PNG в ПС. Единственная проблема заключается в том, что изображения в формате PNG-около 90к, и он становится только под 4М после преобразования. Это не хорошо, так как у меня много таких изображений, и это займет слишком много времени для компиляции LaTeX-документ. У кого-нибудь есть решение для этого?
Проблема в том, что ЭПС
не поддерживает прозрачные изначально.
Есть несколько вариантов:
растрировать изображение и добавьте в файл EPS (как @Молли намекает) или экспорта в PDF и преобразование с некоторым внешним инструментом (как ГС) (который обычно опирается также на растеризация)
'имитировать' прозрачность, дает цвет, который выглядит как прозрачная на фоне.
Я обсуждал эту только на библиотек matplotlib рассылки, и я получил предложение растеризации, что не представляется возможным, так как вы получаете либо pixellized или огромные фигуры. И они не'шкала т очень красиво, если положить в, Например, публикации.
Лично я использую второй подход, хотя и не ИДЕАЛ, я нашел его достаточно хорошо. Я написал небольшую Python скрипт, который реализует алгоритм из [так] сообщение(https://stackoverflow.com/questions/2049230/convert-rgba-color-to-rgb?rq=1y%), чтобы получить твердое представление RGB цвета с прозрачность
Редактировать
В конкретном случае вашего участка, попробуйте использовать Z-последовательностиключевое слово, чтобы заказать детали, нанесены. Попробуйте использовать
Z-последовательности=10голубой эллипс,
Z-последовательности=11для zorder по зеленой и
=12` для hexbins.
Таким образом, синий должен быть ниже все, то зеленый эллипс и, наконец, hexbins. И сюжет должен быть читаемым и с сплошными цветами. И если вам нравятся оттенки синего и зеленого, что у вас есть в PNG, вы можете попробовать играть с mimic_alpha.py`.
Редактировать 2
Если вы на 100% уверены, что вы у использовать ЭПС, есть несколько обходных путей, которые приходят мне на ум (и это, безусловно, страшнее, чем ваш участок):
У меня была та же проблема. Чтобы избежать растеризации, вы можете сохранить изображение в виде PDF и запустите (в системах unixish по крайней мере) в терминале:
pdftops -ЭПС моя.PDF-файл мой.ЭПС
Что дает .EPS-файл в качестве выходного.
Я решил эту проблему:
fxsize=16
fysize=8
f = figure(num=None, figsize=(fxsize, fysize), dpi=180, facecolor='w',
edgecolor='k')
plt.subplots_adjust(
left = (18/25.4)/fxsize,
bottom = (13/25.4)/fysize,
right = 1 - (8/25.4)/fxsize,
top = 1 - (8/25.4)/fysize)
subplots_adjust(hspace=0,wspace=0.1)
#f.suptitle('An overall title', size=20)
gs0 = gridspec.GridSpec(1, 2)
gs11 = gridspec.GridSpecFromSubplotSpec(1, 1, subplot_spec=gs0[0])
ax110 = plt.Subplot(f, gs11[0,0])
f.add_subplot(ax110)
ax110.set_rasterization_zorder(1)
ax110.scatter(xs1,ys1 , marker='o', color='gray' , s=1.5,zorder=0,alpha=0.3)#, label=label_bg)
и 3) наконец растрированной=true при сохранении:
P.savefig(str(PLOTFILENAME)+'.eps', rasterized=True)
Обратите внимание, что это может не работать должным образом с прозрачный
ключевое слово `savefig потому что цвета RGBA с Альфа<1 на прозрачном фоне будет отображаться цветом RGB с альфа=1.
Как уже говорилось выше, самый лучший и простой выбор (если вы не хотите потерять разрешение) - это растрированный рисунок
f = plt.figure()
f.set_rasterized(True)
ax = f.add_subplot(111)
ax.set_rasterized(True)
f.savefig('figure_name.eps',rasterized=True,dpi=300)
Таким образом, вы можете управлять размером также вариант Дои. На самом деле, вы также можете играть с Z-последовательности ниже вы хотите применить растеризации:
ax.set_rasterization_zorder(0)
Примечание: важно держать Ф.set_rasterized(true), если вы используете ПЛТ.сюжетные и plt.функции subplot2grid. В противном случае, метки и области клеща не появится .файл EPS
Мое решение является экспорт сюжетом .ЭПС, загрузить его в Inkscape для примера, потом разгруппировать сюжет, выберите объект, который я хочу установить прозрачность и просто изменить непрозрачность заливки в "заливки и обводки и" вкладка.
Вы можете сохранить файл как .SVG если вы хотите изменить его позже, или экспортировать изображения для публикации.