#python #pdf #matplotlib #plot
#python #PDF #matplotlib #график
Вопрос:
У меня проблема с Matplotlib. Обычно я создаю большие графики со многими точками данных, а затем, после масштабирования или установки ограничений, я сохраняю в pdf только определенное подмножество исходного графика. Проблема возникает, когда я открываю этот файл: matplotlib сохраняет все данные в PDF, делая невидимыми те, которые находятся за пределами диапазона. Это делает практически невозможным последующее открытие этих графиков или их импорт в latex.
Любая идея о том, как я мог бы решить эту проблему, действительно приветствуется.
Большое спасибо
Комментарии:
1. Определите диапазон, который вы хотите просмотреть, и отфильтруйте свои данные, чтобы удалить ненужные части. Как это делается, зависит от того, что вы рисуете.
2. iirc это то, что было исправлено на master.
Ответ №1:
Если у вас нет требования использовать рисунки в формате PDF, вы можете сохранить рисунки matplotlib как .png
; этот формат содержит только данные на экране, например, я попытался сохранить большой точечный график в формате PDF, его размер был 198M
; в формате png он вышел как 270K
; плюс у меня никогда не было проблем с использованием png внутри latex.
Комментарии:
1. Я бы хотел иметь pdf, я могу проще изменять неправильные метки, и они выглядят лучше в beamer. Спасибо за предложение.
Ответ №2:
Я не проверял, что это сработает, но, возможно, стоит растеризировать некоторых исполнителей:
fig, ax = plt.subplots()
ax.imshow(..., rasterized=True)
fig.savefig('test.png', dpi=600)
который растрирует исполнителя при сохранении в векторные форматы. Если вы используете достаточно высокий dpi, это должно обеспечить вам приемлемое качество.