使用matplotlab绘制多条形图

##黑马程序学习

使用matplotlab绘制多条形图_第1张图片

这种多个条形图放在一起的图形该怎么画呢?

请看以下代码

#横着的条形图
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() 来让标签显示 直接调用即可 它会自动寻找到合适位置。

 以上就是对该代码的讲解,若有什么疑问,请留言在评论区,谢谢。

你可能感兴趣的:(数据分析入门,python)