条形图(bar chart)是一种以条形或柱状排列数据的图形表示形式,可以显示各项目之间的比较。它通常用于展示不同类别的数据,例如在分类问题中的不同类别、不同产品或不同年份的销售数据等。
条形图中的每个条形代表一个类别或一个数据点,条形的长度通常与该类别的数值成比例。例如,如果类别A的值为5,类别B的值为10,则类别A的条形长度将小于类别B的条形长度。
条形图可以水平或垂直显示,其中水平条形图更常见。在水平条形图中,条形的位置表示类别,条形的长度表示该类别的数值。在垂直条形图中,条形的位置表示数值,条形的宽度表示类别。
条形图可以单独使用,也可以与其他图形(如饼图、折线图等)组合使用。它可以用于展示单变量或多变量的数据分布和比较,以及反映变量之间的关系。
#导入matplotlib的pyplot模块,这是用于创建图形的主要接口
import matplotlib.pyplot as plt
#导入numpy库,这是一个用于进行数值计算的库
import numpy as np
#定义一个字体设置字典,设置字体为'SimHei',字体样式为'normal',字体大小为10
font1 = {'family': 'SimHei', 'weight': 'normal', 'size': 10}
#设置matplotlib的默认字体为'SimHei'
plt.rcParams['font.sans-serif'] = ['SimHei']
#更新matplotlib的默认字体大小
plt.rcParams.update({
"font.size": 16,
"axes.labelsize": 16,
"axes.titlesize": 16
})
#创建一个包含从0到15的16个元素的numpy数组,16代表条形数量
x = np.arange(16)
#每个条形的值
y1 = np.array([6.90433,4.262,6.1245,11.78283,5.93017,3.76867,4.5285,4.85167,5.8015,4.842,4.72067,7.34083,6.29583,
6.86933,7.927,4.99617])
#创建一个包含1到16的字符串标签列表
label=['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16']
#设置条形图的宽度为0.8
bar_width=0.8
#创建条形图,x轴的值是x列表,y轴的值是y1数组,标签是label列表,条形的宽度是bar_width
plt.bar(x,y1,tick_label=label,width= bar_width)
#在图上添加网格线,线型为'--',透明度为0.5
plt.grid(True, linestyle='--', alpha=0.5)
#创建一个包含从0到12的13个元素的numpy数组,用于设置y轴的刻度
ytick=np.linspace(0,12,num=13)
#设置y轴的刻度
plt.yticks(ytick)
#设置x轴的标签为"xx",字体大小为16
plt.xlabel("xx",fontdict={'size': 16})
#设置y轴的标签为"xx",字体大小为16
plt.ylabel("xx",fontdict={'size': 16})
#显示图形
plt.show()