Растеризованный, dpi, bbox_inches='tight' и axins портят график в PDF-файлеPython

Программы на Python
Ответить
Anonymous
 Растеризованный, dpi, bbox_inches='tight' и axins портят график в PDF-файле

Сообщение Anonymous »

Когда я запускаю приведенный ниже код, график в PDF-файле искажается. Содержимое графика и цветовая полоса сдвинуты вниз влево, как показано на прикрепленном снимке экрана PDF-файла.

Код: Выделить всё

import matplotlib.pyplot as plt
import numpy as np
import os
from mpl_toolkits.axes_grid1.inset_locator import inset_axes

fig, ax = plt.subplots()

# create random image
image = np.arange(100).reshape((10,10))
xaxis = np.arange(10)
yaxis = np.arange(100)[::10]

im = ax.pcolormesh(xaxis, yaxis, image, shading='auto', rasterized=True)

axins = inset_axes(ax,
width=0.06,
height='100%',
loc='center right',
borderpad=-0.75
)
cbar = fig.colorbar(im, cax=axins, orientation='vertical')

filename = 'test.pdf'
fig.savefig(filename,
dpi=300,
bbox_inches='tight')
Изображение

Эта проблема не возникнет, если я выполню любое из следующих действий:
  • Удалите ключевое слово dpi=300 в fig.savefig() (хотя при этом возможны минимальные ошибки при большом увеличении)
  • Удалите ключевое слово bbox_inches='tight' в fig.savefig()
  • Удалите rasterized=True в ax.pcolormesh()
  • Не добавляйте цветную полосу с помощью inset_axes().
My Версия matplotlib – 3.9.2.
Будем благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-in-a-pdf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»