растрирование содержимого оси matplotlib (но не рамки, метки)
Для статьи я создаю графики деформированных сеток конечных элементов, которые я визуализирую с использованием поликоллекции matplotlib. Изображения сохраняются в формате pdf.
Проблемы возникают для сетей с высокой плотностью, для которых наивный подход приводит к слишком крупным файлам и делает их слишком интенсивными, чтобы быть практичными.
Для этих сеток действительно нет смысла составлять каждый элемент как многоугольник; его можно легко растрировать, как это делается при сохранении изображения в формате jpg или png. Однако для печати я хотел бы остановиться на острой рамке, ярлыках и аннотациях.
Кто-нибудь знает, можно ли достичь такой гибридной растеризации в matplotlib?
Я могу думать о решениях с участием imshow и обходить поликоллекцию, но я бы предпочел использовать встроенные компоненты matplotlib.
Спасибо за ваш совет.
- Алгоритм поиска отключенного графика из множеств
- Неперекрывающиеся метки меток разметки с использованием matplotlib
- возможно ли построить график с matplotlib?
- Самый быстрый способ построения ~ 400 000 точек в python
- Изменение цвета цвета с использованием значения yaxis
Просто передайте rasterized=True
ключевое слово rasterized=True
вашему конструктору коллекции. Пример:
col = collections.PolyCollection(<arguments>, rasterized=True)
Это позволяет использовать только выборочную растеризацию этого элемента (например, если вы сделали нормальный график поверх него, он по умолчанию будет векторизован). Большинство команд, таких как plot
или imshow
также могут использовать rasterized
ключевое слово. Если вы хотите растрировать всю фигуру (включая метки и аннотации), это сделало бы это:
fig = plt.figure() a = fig.add_subplot(1,1,1, rasterized=True)
(Но это не то, что вы хотите, как указано в вопросе.)
- Моделирование графика в Python
- Изменение цвета точки в зависимости от значения в режиме реального времени с помощью Bokeh
- построение задачи по лог-шкале в matplotlib в python
- сюжетная категориальная переменная по сравнению с другой категориальной переменной в Python
- Удаление точки на участке рассеяния с помощью matplotlib
- Matplotlib добавляет легенду, основанную на существующих цветовых сериях
- Группировка по неделям и отключение «отсутствующих» недель
- Настройки для timedata на морских участках FacetGrid
- matplotlib – chartplot, выбрать цвета для y кортежей