为什么plt.figure(figsize=(X,y))不改变my.hist和.plot上的大小?

2024-06-06 22:11:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我对轴的概念有点困惑,坦率地说,什么修改了matplotlib后端的内容。我在this post中被告知,“当您第一次执行需要Axis对象的操作时,会为您创建一个对象,并成为默认对象,在您将当前Axis更改为其他对象之前,您未来的所有操作都将应用于该对象。”

但是,为什么当我在Jupyter笔记本的相同单元格中使用以下代码时,figsize似乎什么都不做:

dataset[['TV','radio']].plot()
plt.figure(figsize=(5,10))

而且

dataset.hist()
plt.figure(figsize=(10,20))

为什么这两个都不行?我如何知道我正在引用哪个轴对象?非常感谢


Tags: 对象代码概念内容matplotlib笔记本jupyterplt
1条回答
网友
1楼 · 发布于 2024-06-06 22:11:59

问题是plt.figure创建了一个新图形

如果要调整现有地物的大小,请使用以下选项:

dataset[['TV','radio']].plot()
fig = plt.gcf() # gcf: get current figure
fig.set_size_inches(5,10)

另一种方法可以说明如何创建轴以及以后如何使用轴,即从图形大小开始,如下所示:

import numpy as np, pandas as pd

df = pd.DataFrame({'x':[np.random.randint(0,10) for i in range(10)]}) 

fig = plt.figure(figsize=(5,5))
ax = fig.gca() # gca: get current axes
df.plot(ax=ax)

结果: enter image description here

相关问题 更多 >