如果 a是 pandas DataFrame生成的数据集
a.plot.barh() 会自动生成一个不同于前边画布的画布,并在画布上作图
plt.barh(a) 只会在前边定义的画布上作图
如果只生成一个图的时候,这两者任选一种都可以
但是如果涉及到多个图形,就只能选plt.barh(a) 了。如下边的例子
a = [“战狼2”, “速度与激情8”, “功夫瑜伽”, “西游伏妖篇”, “变形金刚5:最后的骑士”, “摔跤吧!爸爸”, “加勒比海盗5:死无对证”, “金刚:骷髅岛”, “极限特工:终极回归”, “生化危机6:终章”,
“乘风破浪”, “神偷奶爸3”, “智取威虎山”, “大闹天竺”, “金刚狼3:殊死一战”, “蜘蛛侠:英雄归来”, “悟空传”, “银河护卫队2”, “情圣”, “新木乃伊”, ]
b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61, 11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32, 6.99, 6.88,
6.86, 6.58, 6.23]
c = pd.DataFrame(b,index=a)
f1 = plt.figure(figsize=(15, 10))
n = 5
x = 0
for i in range(5): # 有几次循环就画几次图
plt.subplot(n100+110+1+x)
plt.barh(a, b) # plt 开头表示生成一张图(最后只会生成一张图)
# c.plot.barh() # 数据集开头 表示 自动生成一张画布并在画布山作图(最后会生成6张图)
x += 1
plt.show()