Как я могу экспортировать рисунок matplotlib как векторную графику с редактируемыми текстовыми полями? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь экспортировать несколько графиков для редактирования в Adobe Illustrator, и я пытаюсь сделать заголовок, метки осей и метки гистограммы отдельными текстовыми полями. то есть, если я щелкну по заголовку в Illustrator (или по вашему выбору), весь заголовок будет отдельным полем.

Вот как я экспортирую векторную графику без текстовых полей:

plt.bar(x_data, y_data)
plt.title('Fancy Title')
plt.xlabel('Informative X label')
plt.ylabel('Felicitous Y label')
plt.draw()
fig.savefig(savepath, bbox_inches='tight', format='svg')
plt.show()

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

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Попробуйте эти строки:

import matplotlib as mpl
mpl.rcParams['pdf.fonttype'] = 42
mpl.rcParams['ps.fonttype'] = 42

По моему опыту, тип шрифта по умолчанию не редактируется, но вот этот.

0 голосов
/ 09 января 2019

Вы можете установить svg fonttype в none:

import matplotlib.pyplot as plt
plt.rcParams['svg.fonttype'] = 'none'

Работает также следующее:

  1. Сохранить рисунок в формате pdf, plt.savefig("filename.pdf")
  2. Открыть PDF в Inkscape ,
    т.е. Файл / Импорт ... затем выберите enter image description here.
  3. Теперь вы можете редактировать текст в Inkscape.
  4. (необязательно) экспортировать фигуру из inkscape (например, в виде файла svg), чтобы затем импортировать ее в любую другую программу.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...