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()
相关推荐
czq_268671948724 分钟前
Python打卡第46天
开发语言·python
Flynt2 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
曲径海盗4 小时前
【Python 学习第 53 天】列表基础
python·学习笔记·编程入门
Dumbness4 小时前
群里 @ 机器人发"查订单",指令一条都没命中:微信群机器人在路由前漏掉的几步归一化
python·微信
用户1614840955455 小时前
用 M4 Pro 跑羽毛球视频 AI 分析(二):TrackNet MPS 加速 3.2 倍、卡尔曼滤波补漏与自动回合剪辑
python
用户4019925568615 小时前
基于对话树回溯的社媒评论流买方意图识别与噪音过滤实践
python
用户0332126663675 小时前
使用 Python 加密或解密 PDF 文档
python
小七-七牛开发者5 小时前
让 Go 走得更远:用 LLGo 打通 Go 与 C/C++/Python 生态
python·编程·编译器·llvm·llgo
CyrusYiVPP7 小时前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
2601_967980117 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理