Почему ось сюжета matplotlib строго не установлена ​​равной, если для figsize установлено одинаковое значение для ширины и высоты - PullRequest
0 голосов
/ 14 марта 2019

Использование следующего кода для определения положения оси и соотношения веса и роста.

import matplotlib.pyplot as plt
ss = 2.4
fig, ax = plt.subplots(1, 1, figsize=(ss, ss))
box = ax.get_position()
box.width/box.height

Установите ss=2.4, 3.6, 7.2, вывод на моем компьютере всегда одинаков:

1,0064935064935066

Бэкэнд:% matplotlib qt

Почему бы не получить ширину и высоту одинаковыми значениями?

1 Ответ

1 голос
/ 14 марта 2019

Само по себе нет причин, по которым оси должны быть квадратными, просто потому, что фигура, в которой они живут, квадратная.

Параметры подзаговора, установленные файлом rc по умолчанию ,

figure.subplot.left    : 0.125  ## the left side of the subplots of the figure
figure.subplot.right   : 0.9    ## the right side of the subplots of the figure
figure.subplot.bottom  : 0.11   ## the bottom of the subplots of the figure
figure.subplot.top     : 0.88   ## the top of the subplots of the figure

, такие что

(right-left)/(top-bottom) = (0.9-0.125)/(0.88-0.11) = 1.0064935

КонечноВы можете установить эти параметры по своему вкусу и, следовательно, открыть квадратный участок, либо в своем файле RC, либо с помощью кода, например,

rc = {"figure.subplot.left"    : 0.1, 
      "figure.subplot.right"   : 0.9,
      "figure.subplot.bottom"  : 0.1,
      "figure.subplot.top"     : 0.9 }
plt.rcParams.update(rc)

или

fig.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...