使用matplotlab绘制多条形图
##黑马程序学习
这种多个条形图放在一起的图形该怎么画呢?
请看以下代码
#横着的条形图
from matplotlib import pyplot as plt
import matplotlib
#设置显示中文 和 负号
matplotlib.rcParams['font.sans-serif']=['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
a = ["猩球崛起3:终极之站","敦刻尔克","蜘蛛侠","战狼2"]
b_16 = [15745,312,4497,319]
b_15 = [12357,156,2045,166]
b_14 = [2358,399,2358,362]
x_14 = list(range(len(a)))
x_15 = [i+0.2 for i in x_14]
x_16 = [i+0.2*2 for i in x_14]
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(a)),b_14,width=0.2,label="9月14日")
plt.bar(x_15,b_15,width=0.2,label="9月15日")
plt.bar(x_16,b_16,width=0.2,label="9月16日")
#设置图例
plt.legend()
#设置x轴的刻度
plt.xticks(x_15,a)
plt.savefig("./final.png")
plt.show()
1.
import matplotlib
#设置显示中文 和 负号
matplotlib.rcParams['font.sans-serif']=['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
这里的作用是为了中文可以在matplotlib中可以正常显示,一般情况下,matplotlib是不能显示中文的。
2.
x_14 = list(range(len(a)))
x_15 = [i+0.2 for i in x_14]
x_16 = [i+0.2*2 for i in x_14]
这里是给 三天的数据进行x轴偏移操作 ,偏移量为0.2 我们可以写为 bar_width = 0.2 加速后期的更改速率。
3.
plt.bar(range(len(a)),b_14,width=0.2,label="9月14日")
plt.bar(x_15,b_15,width=0.2,label="9月15日")
plt.bar(x_16,b_16,width=0.2,label="9月16日")
这里 是进行条形图的绘制 plt.bar(x,y,width= , label= ) width 是设置条形图的粗细, label 是写标签,为了区别。 后面会使用 plt.legend() 来让标签显示 直接调用即可 它会自动寻找到合适位置。
以上就是对该代码的讲解,若有什么疑问,请留言在评论区,谢谢。