python科研绘图:条形图

条形图(bar chart)是一种以条形或柱状排列数据的图形表示形式,可以显示各项目之间的比较。它通常用于展示不同类别的数据,例如在分类问题中的不同类别、不同产品或不同年份的销售数据等。

条形图中的每个条形代表一个类别或一个数据点,条形的长度通常与该类别的数值成比例。例如,如果类别A的值为5,类别B的值为10,则类别A的条形长度将小于类别B的条形长度。

条形图可以水平或垂直显示,其中水平条形图更常见。在水平条形图中,条形的位置表示类别,条形的长度表示该类别的数值。在垂直条形图中,条形的位置表示数值,条形的宽度表示类别。

条形图可以单独使用,也可以与其他图形(如饼图、折线图等)组合使用。它可以用于展示单变量或多变量的数据分布和比较,以及反映变量之间的关系。

python 复制代码
#导入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()
相关推荐
ServBay9 小时前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户8356290780519 小时前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户83562907805110 小时前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python
荣码18 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
用户8356290780511 天前
Python 操作 PDF 附件:添加、查看与管理指南
后端·python
宇宙之一粟2 天前
乐企版式文件生成平台
java·后端·python
学测绘的小杨2 天前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz3103 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐3 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱3 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构