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()
相关推荐
杨杨杨大侠5 分钟前
DeepAgents 框架深度解析:从理论到实践的智能代理架构
后端·python·llm
袁袁袁袁满13 分钟前
Python读取doc文件打印内容
开发语言·python·python读取doc文件
m0_7482523828 分钟前
Ruby 模块(Module)的基本概念
开发语言·python·ruby
子午36 分钟前
【2026原创】水稻植物病害识别系统~Python+深度学习+人工智能+resnet50算法+TensorFlow+图像识别
人工智能·python·深度学习
深蓝电商API39 分钟前
Scrapy ImagesPipeline和FilesPipeline自定义使用
爬虫·python·scrapy
木卫二号Coding42 分钟前
Python-文件拷贝+文件重命名+shutil+记录
开发语言·python
爬山算法1 小时前
Hibernate(44)Hibernate中的fetch join是什么?
前端·python·hibernate
一代明君Kevin学长1 小时前
记录一个上手即用的Spring全局返回值&异常处理框架
java·网络·python·spring
教游泳的程序员1 小时前
【面试问题精选】java开发工程师
python·面试·职场和发展
爬山算法1 小时前
Hibernate(43)Hibernate中的级联删除如何实现?
java·python·hibernate