use*_*548 8 python matplotlib pandas
如您所见,代码产生的条形图不太清楚,我想将数字放大,以便可以更好地看到值。这没有做。正确的方法是什么?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))
Run Code Online (Sandbox Code Playgroud)
带plt.figure的行不会更改初始尺寸。
tmd*_*son 15
(由@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")
Run Code Online (Sandbox Code Playgroud)
如果要在创建图形后设置图形大小,另一种方法是使用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)
Run Code Online (Sandbox Code Playgroud)
尽管这不是最干净的代码,但可以一行完成所有操作。首先,您需要创建图形,然后获取当前轴(fig.gca),并在其上绘制条形图:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20, 10)).gca().bar(x['user'], x['number'], color="blue")
Run Code Online (Sandbox Code Playgroud)
最后,我将指出,通常最好使用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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16011 次 |
| 最近记录: |