Я пытаюсь экспортировать свою фигуру в формате PDF. Я столкнулся с проблемой, что когда я хочу его отредактировать (в данном случае Графический в macOS), шрифт не может быть найден редактором. У меня вопрос, как мне это решить? Могу ли я «установить» шрифты, используемые matplotlib?
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([0,1], [0,1])
plt.savefig('test.pdf')
Этот PDF-файл отлично выглядит в предварительном просмотре:
Но в редакторе дает тарабарщину:
Параметр
matplotlib.rc("pdf", fonttype=42)
(см. этот ответ).
Что работает, так это установить все шрифты matplotlib. Я следил за этот ответ, чтобы найти все ttfs matplotlib, и установил их. Это работает и решает проблему.
Но... Это действительно решает проблемы, когда LaTeX включен, с помощью
import matplotlib
matplotlib.rcParams['text.usetex'] = True
Как мне теперь установить шрифты, которые использует matplotlib?
A solution here is to export as SVG. However, for some reason this takes ages on my system (see this bug).

Какой редактор PDF вы используете? Я не знаю, как проверить, работает ли попытка решить эту проблему ... но я всегда использую этот код для сохранения изображений в pdf или png:
plt.savefig('test.pdf', edgecolor='none', bbox_inches = "tight")
Я нашел обходной путь. Это необходимо для преобразования всех шрифтов в контуры перед редактированием. Один из способов сделать это - использовать GhostScript с опцией -dNoOutputFonts, как описано в этот ответ:
gs -o file-with-outlines.pdf -dNoOutputFonts -sDEVICE=pdfwrite file.pdf
Спасибо за ответ. Пытаюсь редактировать в Графический. Я тоже редактировал вопрос. К сожалению, ваше предложение не решает проблему. Я подозреваю, что это связано с добавлением шрифтов типа «да / нет» в PDF или с поиском возможности преобразовать символы в пути, чтобы эту проблему можно было обойти.