Почему plt.figure (figsize = (w, h)) не влияет на df.barh (), а plt.rcParams ['figure.figsize'] = [w, h]? - PullRequest
0 голосов
/ 08 марта 2019

Кажется, я не могу найти ответ в Matplotlib или где-либо еще, почему

plt.figure(figsize=(15,20))
df.plot.barh()

не меняет размер графика. Я должен использовать это вместо

plt.rcParams['figure.figsize'] = [15, 20]
df.plot.barh()

Может кто-нибудь объяснить, в чем разница между plt.figure и plt.rcParams, пожалуйста?

Как мне сбросить эффект plt.rcParams['figure.figsize'] = [w,h] до исходного размера в ноутбуке jupyter после его использования? Я пытался plt.rcdefaults(), но размер фигуры по умолчанию все еще намного больше?

Спасибо

1 Ответ

0 голосов
/ 08 марта 2019

Похоже, что barh создаст новую фигуру и оси, если она явно не передана ей. Поэтому, когда вы делаете plt.figure(figsize=(15,20)), вы создаете фигуру, но никогда не используете ее.

Принимая во внимание, что plt.rcParams['figure.figsize'] = [15, 20] влияет на все цифры.

Одним из решений будет создание фигуры и осей и передача ее в качестве аргумента

fig, ax = plt.subplots(figsize=(15,20))
df.plot.barh(ax=ax)

В качестве альтернативы, barh имеет аргумент figsize, который можно использовать. Поэтому не создавайте фигуры заранее, просто сделайте

df.plot.barh(figsize=(15,20))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...