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()
相关推荐
apocelipes9 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户83562907805110 小时前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent15 小时前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m62518 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
SelectDB1 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码2 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵2 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li2 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸3 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学3 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员