如您所见,代码生成的条形图不太清晰,我想将数字放大,以便可以更好地看到这些值。这没有做。正确的方法是什么?
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的行不会更改初始尺寸。
答案 0 :(得分:7)
一个选项(如@tda所述),也许是最好/最标准的方法,是将plt.figure
放在plt.bar
之前:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20,10))
plt.bar(x['user'], x['number'], color="blue")
如果要在创建图形后设置图形大小,另一种选择是使用fig.set_size_inches
(注意,我在这里使用plt.gcf
来获取当前图形):
import matplotlib.pyplot as plt
%matplotlib inline
plt.bar(x['user'], x['number'], color="blue")
plt.gcf().set_size_inches(20, 10)
尽管不是最干净的代码,也可以一行完成全部操作。首先,您需要创建图形,然后获取当前轴(fig.gca
),并在其上绘制条形图:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20, 10)).gca().bar(x['user'], x['number'], color="blue")
最后,我将指出,使用matplotlib面向对象方法通常会更好,在该方法中,您可以保存对当前图形和轴的引用,并直接在其上调用所有绘图功能。它可能会添加更多的代码行,但通常是更清晰的代码(并且您可以避免使用诸如gcf()
和gca()
之类的代码)。例如:
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure(figsize=(20, 10)
ax = fig.add_subplot(111)
ax.bar(x['user'], x['number'], color="blue")
答案 1 :(得分:1)
在分配图形之前,尝试设置图形的大小,如下所示:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20,10))
plt.bar(x['user'], x['number'], color="blue")