Неполный текст при сохранении морских фигур [дубликат]

183
задан Hooked 31 December 2012 в 19:27
поделиться

5 ответов

Использование:

import matplotlib.pyplot as plt

plt.gcf().subplots_adjust(bottom=0.15)

, чтобы освободить место для метки.

Изменить:

Поскольку я дал ответ, matplotlib добавил tight_layout(). Поэтому я предлагаю использовать его:

plt.tight_layout()

должно освободить место для xlabel.

251
ответ дан xnx 22 August 2018 в 20:51
поделиться
  • 1
    Мне кажется странным, что нужно сделать дополнительный звонок, чтобы освободить место для важной части сюжета. Каковы причины этого? – a different ben 9 April 2012 в 09:09
  • 2
    Просто из любопытства, почему у вас есть gcf().subplots_adjust, а не plt.subplots_adjust? Есть ли разница? – juniper- 6 June 2013 в 15:25
  • 3
    Что gcf и gca? Вы пренебрегли объяснением! – Colonel Panic 6 March 2014 в 13:21
  • 4
    Я столкнулся с одной и той же проблемой, и, хотя tight_layout() исправил обрезание xlabels, к сожалению, это привело к тому, что моя ярлык обрезался (который раньше не прерывался). Однако первое средство (subplots_adjust(bottom=0.25)) прекрасно работало. Благодарю. – Scott H 19 September 2014 в 17:20
  • 5
    @ColonelPanic gcf() и gca() являются «получать текущую цифру». и "получить токовые оси" соответственно. – DrMisha 8 June 2015 в 18:23

Легкая опция - настроить matplotlib для автоматической настройки размера графика. Он отлично работает для меня, и я не уверен, почему он не активирован по умолчанию.

Метод 1

Установите это в файле matplotlibrc

figure.autolayout : True

См. Здесь дополнительную информацию о настройке файла matplotlibrc: http://matplotlib.org/users/customizing.html

Способ 2

Обновить rcParams во время выполнения, например

from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})

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

94
ответ дан Amit Moscovich 22 August 2018 в 20:51
поделиться

Вы также можете настроить пользовательское дополнение как значение по умолчанию в своем $HOME/.matplotlib/matplotlib_rc следующим образом. В приведенном ниже примере я изменил как нижнее, так и левое заполнение:

# The figure subplot parameters.  All dimensions are a fraction of the
# figure width or height
figure.subplot.left  : 0.1 #left side of the subplots of the figure
#figure.subplot.right : 0.9 
figure.subplot.bottom : 0.15
...
5
ответ дан Мати Тернер 22 August 2018 в 20:51
поделиться
  • 1
    Фантастическое предложение. Я так устал сражаться с matplotlib в этом конкретном пункте, что, пожалуй, я установлю некоторые огромные буферы и просто использую pdfcrop, чтобы сделать соответствующую обрезку. – Matthew G. 10 April 2013 в 22:15
2
ответ дан Guido 5 November 2018 в 18:12
поделиться
1
ответ дан Ivan Aracki 5 November 2018 в 18:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: