马特普洛利库中的图尺寸没有改变图形大小?



如您所见,代码生成的条形图不那么清晰,我想使图形更大,以便更好地看到值。这不行。正确的方法是什么? x 是数据帧,x['user']是图中的 x 轴,x['number']是 y。

import matplotlib.pyplot as plt
%matplotlib inline  
plt.bar(x['user'], x['number'], color="blue")
plt.figure(figsize=(20,10)) 

带有 plt.figure 的行不会更改初始尺寸。

一种选择(如 @tda 所述(,可能是最好/最标准的方法,是将plt.figure放在plt.bar之前:

import matplotlib.pyplot as plt
plt.figure(figsize=(20,10)) 
plt.bar(x['user'], x['number'], color="blue")

如果要在创建图形后设置图形大小,另一种选择是使用fig.set_size_inches(注意我在这里使用了plt.gcf来获取当前图形(:

import matplotlib.pyplot as plt
plt.bar(x['user'], x['number'], color="blue")
plt.gcf().set_size_inches(20, 10)

可以在一行中完成所有这些操作,尽管它不是最干净的代码。首先,您需要创建图形,然后获取当前轴(fig.gca(,并在那里绘制条形图:

import matplotlib.pyplot as plt
plt.figure(figsize=(20, 10)).gca().bar(x['user'], x['number'], color="blue")

最后,我要指出的是,通常最好使用 matplotlib 面向对象的方法,其中保存对当前图形和轴的引用,并直接调用它们上的所有绘图函数。它可能会添加更多的代码行,但它通常是更清晰的代码(您可以避免使用gcf()gca()之类的东西(。例如:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(20, 10))
ax = fig.add_subplot(111)
ax.bar(x['user'], x['number'], color="blue")

在指定要绘制的内容之前,请尝试设置图形的大小,如下所示:

import matplotlib.pyplot as plt
%matplotlib inline  
plt.figure(figsize=(20,10)) 
plt.bar(x['user'], x['number'], color="blue")

最新更新