Python bar()函数:绘制柱状图
柱状图主要用于展现 x 轴上不同类别数据的分布特征,其可分为单柱状图和多柱状图。
在 Python 中,可以通过 matplotlib.pyplot 模块中的 bar() 函数绘制柱状图,其语法格式如下:
1) 绘制单柱状图,示例代码如下:
图 1 单柱状图
2) 多柱状图,示例代码如下:
图 2 多柱状图
在 Python 中,可以通过 matplotlib.pyplot 模块中的 bar() 函数绘制柱状图,其语法格式如下:
bar(x,height,width,color,edgecolor,label)
- 参数 x 表示 x 轴上数据的类别;
- 参数 height 表示每种类别数据的数量;
- 参数 width 表示柱体的宽度;
- 参数 color 表示柱体的颜色;
- 参数 edgecolor 表示柱体的边框颜色;
- 参数 label 表示图例内容。
1) 绘制单柱状图,示例代码如下:
import matplotlib.pyplot as plt #显示中文 plt.rcParams['font.sans-serif']='SimHei' #显示负号 plt.rcParams['axes.unicode_minus']=False #x轴的刻度线向内显示 plt.rcParams['xtick.direction']='in' #y轴的刻度线向外显示 plt.rcParams['ytick.direction']='out' #创建画布 plt.figure(figsize=(10,8)) #柱状图标题 plt.title('销售量分析表') #数据 x=[0,1,2,3,4,5,6,7] y=[25140,68541,36584,35864,57841,78520,46333,35844] #绘制柱状图 plt.bar(x,y,color='green',label='销售量') #创建隐藏y轴的网格线 plt.grid(axis='y') #设置x轴标题 plt.xlabel('年份') #设置y轴标题 plt.ylabel('销售量/本') #创建x轴刻度 plt.xticks(range(0,8,1),['2015','2016','2017','2018','2019','2020','2021','2022']) #创建y轴刻度 plt.yticks(range(10000,100000,10000)) #创建文本标签 for a,b in zip(x,y): plt.text(a,b+1,'%.1f'%b,ha='center',va='bottom',fontsize=9) #创建图例 plt.legend(labels=['销售量'],loc=2)上面代码的运行结果如下图所示。
图 1 单柱状图
2) 多柱状图,示例代码如下:
import matplotlib.pyplot as plt #显示中文 plt.rcParams['font.sans-serif']='SimHei' #显示负号 plt.rcParams['axes.unicode_minus']=False #x轴的刻度线向内显示 plt.rcParams['xtick.direction']='in' #y轴的刻度线向外显示 plt.rcParams['ytick.direction']='out' #创建画布 plt.figure(figsize=(10,8)) #柱状图标题 plt.title('销售量分析表') #数据 x1=[0,1,2,3,4,5,6,7] x2=[0.2,1.2,2.2,3.2,4.2,5.2,6.2,7.2] x3=[0.4,1.4,2.4,3.4,4.4,5.4,6.4,7.4] x4=[0.6,1.6,2.6,3.6,4.6,5.6,6.6,7.6] y1=[25140,68541,36584,35864,57841,78520,46333,35844] y2=[35221,45214,45888,100254,52365,84512,75877,75845] y3=[75222,36525,52364,62541,78555,35214,56241,62541] y4=[35985,42555,75255,42515,92415,12545,66541,44525] #绘制柱状图 plt.bar(x1,y1,width=0.2,color='green',label='C/C++') plt.bar(x2,y2,width=0.2,color='red',label='Java') plt.bar(x3,y3,width=0.2,color='yellow',label='Python') plt.bar(x4,y4,width=0.2,color='pink',label='Go') #创建隐藏y轴的网格线 plt.grid(axis='y') #设置x轴标题 plt.xlabel('年份') #设置y轴标题 plt.ylabel('销售量/本') #创建x轴刻度 plt.xticks(range(0,8,1),['2015','2016','2017','2018','2019','2020','2021','2022']) #创建y轴刻度 plt.yticks(range(10000,100000,10000)) #创建文本标签 for a,b in zip(x1,y1): plt.text(a,b+1,'%.1f'%b,ha='center',va='bottom',fontsize=9) #创建图例 plt.legend(labels=['C/C++','Java','Python','Go'],loc=2)运行结果如下图所示:
图 2 多柱状图