Размер фигуры встроенного графика Spyder / IPython

#python #numpy #ipython #spyder

#python #numpy #ipython #spyder

Вопрос:

Когда у меня есть фигура, построенная из скрипта, я могу изменять размер фигуры по желанию:

 plt.figure(1,figsize=(20,20),dpi=72)
plt.imshow(a)
plt.show()
  

но когда я делаю это в консоли IPython, я не могу изменить размер фигуры. Почему это происходит?

Ответ №1:

(Сопровождающий Spyder здесь) По умолчанию фигуры, созданные в консоли Spyder IPython, представляют собой файлы PNG фиксированного размера.

Если вы хотите увеличить / уменьшить масштаб или переместить влево / вправо на рисунке Matplotlib, вам необходимо изменить свой графический сервер с Inline (по умолчанию) на Automatic . Вы можете сделать это, перейдя в меню

Tools > Preferences > IPython console > Graphics > Graphics backend

После выполнения этого и перезапуска ядра консоли IPython или создания новой консоли все фигуры Matplotlib будут созданы в новом окне с элементами управления для масштабирования и панорамирования.

Наконец, если вы хотите переключаться между Inline и Automatic во время работы в консоли, вам необходимо выполнить следующие команды

  • %matplotlib inline чтобы выбрать Inline серверную часть.
  • %matplotlib qt5 или %matplotlib qt (в зависимости от того, используете ли вы Qt4 или Qt5) для выбора Automatic .

Комментарии:

1. Мне интересно, по-прежнему ли нет возможности изменить размер фигуры во встроенном режиме. Было бы удобно иметь возможность это сделать.

2. @MohammadReza, эта опция присутствует уже несколько лет назад. В Preferences > IPython console > Graphics > Inline backend вы можете настроить ширину, высоту и dpi встроенных фигур.

3. Просто чтобы добавить сюда, мне пришлось перезапустить spyder, чтобы изменения вступили в силу. Спасибо