import matplotlib.pyplot as plt
柱状图
应用于比较分类变量的数值,例如可以用于展示衣服裤子鞋子等商品的销售量。
主要参数介绍:
bar(left, height, width=0.8, bottom=None, **kwargs)
left为和分类数量一致的数值序列,序列里的数值数量决定了柱子的个数,数值大小决定了距离0点的位置
height为分类变量的数值大小,决定了柱子的高度
width决定了柱子的宽度,仅代表形状宽度而已
bottom决定了柱子距离x轴的高度,默认为None,即表示与x轴距离为0
事实上,left,height,width,bottom这四个参数确定了柱体的位置和大小。默认情况下,left为柱体的居中位置(可以通过align参数来改变left值的含义)
# 正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['axes.labelsize']=16
plt.rcParams['xtick.labelsize']=14
plt.rcParams['ytick.labelsize']=14
plt.rcParams['legend.fontsize']=12
plt.rcParams['figure.figsize']=[16,6]
# 使用样式
plt.style.use("ggplot")
label = ["a","b","c","d","e"]
x = [0,1,2,3,4]
y = [30,20,15,25,10]
width决定了柱子的宽度,仅代表形状宽度而已,默认为0.8
fig = plt.figure()
# 生成第一个子图在1行2列第一列位置
ax1 = fig.add_subplot(121)
# 生成第二子图在1行2列第二列位置
ax2 = fig.add_subplot(122)
# 绘图并设置柱子宽度0.5
ax1.bar(x, y, width=0.5)
# 绘图默认柱子宽度0.8
ax2.bar(x, y)
plt.show()
设置x轴刻度(tick_label)用 label = ["a","b","c","d","e"] 显示
fig = plt.figure()
# 生成第一个子图在1行2列第一列位置
ax1 = fig.add_subplot(121)
# 生成第二子图在1行2列第二列位置
ax2 = fig.add_subplot(122)
# 绘图并设置柱子宽度0.5
ax1.bar(x, y, width=0.5)
# 绘图默认柱子宽度0.8,设置x轴刻度(tick_label)用 label = ["a","b","c","d","e"] 显示
ax2.bar(x, y,tick_label=label)