图表辅助元素的定制

设置坐标轴的标签

设置x轴的标签

matplotlib中可以直接使用pyplot模块的xlabel()函数设置x轴的标签,xlabel()函数的语法格式如下:

xlabel(xlabel, fontbict=None, labelpad=None, **kwargs)

该函数各参数含义如下:

xlabel: 表示x轴标签的文本

fontdict: 表示控制标签文本样式的字典

labelepad:  表示标签与坐标轴边框(包括刻度和刻度标签)的距离 

此外,Axes对象使用set_xlabel()方法也可以设置x轴的标签。

设置y轴的标签

matplotlib中可以直接使用pyplot模块的ylabel()函数设置x轴的标签,ylabel()函数的语法格式如下:

ylabel(ylabel, fontbict=None, labelpad=None, **kwargs)

该函数的ylabel参数表示y轴标签的文本,其余参数与xlabel()函数的参数的含义相同,此外,Axes对象使用set_ylabel()方法也可以设置y轴的标签。

现有一个包含正弦曲线和余弦曲线的图表,该图中设置x轴和y轴的标签,用面向对象方法实现,具体代码如下:

import numpy as np
import matplotlib.pyplot as plt
 
# 0.设置中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
 
# 创建画布
fig = plt.figure()


# 在画布上添加绘图区域
ax = fig.add_subplot(111)
 
#准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
ax.plot(x, y1, x, y2)

#设置x轴和y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")

#展示图表
plt.show()

设置刻度范围和刻度标签

设置刻度范围

        使用pyplot模块的xlim()和ylim()函数分别可以设置或获取x轴和y轴的刻度范围。

xlim()函数的语法格式如下:

xlim(left=None, right=None, emit=True, auto=False, *, xmin=None, xmax=None)

该函数常用参数的含义如下。
·left:表示x轴刻度取值区间的左位数。·right:表示x轴刻度取值区间的右位数。
·emit:表示是否通知限制变化的观察者,默认为 True。·auto:表示是否允许自动缩放x轴,默认为True.
·xmin:表示x轴刻度的最小值。·xmax:表示x轴刻度的最大值。
此外,Axes 对象可以使用 set_xlim) 和 set_ylim0 方法分别设置x轴和y轴的刻度范围。

设置刻度标签

  使用pyplot模块的xticks()和yticks()函数分别可以设置或获取x轴和y轴的刻度线位置。

xticks()函数的语法格式如下:

xticks(ticks=None, labels=None, **kwargs)

该函数的 ticks参数表示刻度显示的位置列表,它还可以设为空列表,以此禁用x轴的刻度;labels 表示指定位置刻度的标签列表。
此外,Axes对象可以使用set_ xticks0或 set_yticks0方法分别设置x轴或轴的刻度线位置,使用set_xticklabels() 或 set_yticklabels() 方法分别设置x轴或y轴的刻度标签。

我们在上一个正余弦曲线图基础上设置坐标轴的刻度范围和刻度标签,增加如下:

#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min() * 1.5, x.max() * 1.5)
ax.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], 
              [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])

tips:字符串前面加r,意味着该字符串将被视为原始字符串,所有转义字符都被忽略

添加标题和图例

添加标题

matplotlib 中可以直接使用pyplot模块的 title() 函数添加图表标题,title()函数的语法格式如下所示:

title(label, fontdict=None, loc='center', pad=None, **kwargs)

该函数常用参数的含义如下。
· label:表示标题的文本。
·fontdict:表示控制标题文本样式的字典。
·loc:表示标题的对齐样式,包括 left'、'right和'center '三种取值,默认取值为'center' 即居中显示标题。
· pad:表示标题与图表顶部的距离,默认为 None.
此外,Axes对象还可以使用 set_title()方法添加图表的标题。

#添加标题
ax.set_title("正弦曲线和余弦曲线)

添加图例

  使用pyplot模块的legend()函数添加图例,legend()函数的语法格式如下:

legend(handles, labels, loc, bbox_to_anchor, ncol, title, shadow,
       fancybox, *args, **kwargs)

(1)handles 和 labels 参数
handles参数表示由图形标识构成的列表,labels 参数表示由图例项构成的列表。
(2)loc 参数
lac参数用于精细调整图例在整个绘图区域上的位置,该参数支持字符串和数值俩种形式的取值。

(3)bbox_to_anchor参数

用于精细调整图例在整个绘图区域上的位置(x:0-1,y:0-1)

(4)ncol 参数
ncol 参数表示图例的列数,默认值为1。
(5 )title 参数
title 参数表示图例的标题,默认值为 None。
(6)shadow 参数
shadow参数控制是否在图例后面显示阴影,默认值为 Noneo
(7)fancybox 参数
fancybox参数控制是否为图例设置圆角边框,默认值为 None。

#添加图例
ax.legend(ax.plot(x, y1, x, y2), ['正弦', '余弦'], shadow=True, fancybox=True)

显示网格

显示指定样式的表格

 使用pyplot模块的grid()函数添加图例,grid()函数的语法格式如下:

grid(b=None, which='major', axis='both', **kwargs)

该函数常用参数的含义如下。
·b:表示是否显示网格。若提供其他关键字参数,则b参数设为 True.

·which:表示显示网格的类型,支持 major、minor、both 这3种类型,默认为 major.

·axis:表示显示哪个方向的网格,该参数支持both、x和y这3个选项,默认为both。

· linewidth或Iw:表示网格线的宽度。
此外,还可以使用Axes 对象的 gridO 方法显示网格。需要说明的是,坐标轴若没有刻度,就无法显示网格。

#显示网格
ax.grid( axis='y', linewidth=0.3)

动物目标检测数据集 一、基础信息 数据集名称:动物目标检测数据集 图片数量: - 训练集:9,134张图片 - 验证集:1,529张图片 - 测试集:1,519张图片 总计:12,182张图片 分类类别: Bear(熊)、Cat(猫)、Cattle(牛)、Chicken(鸡)、Deer(鹿)、Dog(狗)、Elephant(大象)、Horse(马)、Monkey(猴子)、Sheep(绵羊) 标注格式: YOLO格式,包含归一化坐标的边界框和数字编码类别标签,支持目标检测模型开发。 数据特性: 涵盖俯拍视角、地面视角等多角度动物影像,适用于复杂环境下的动物识别需求。 二、适用场景 农业智能监测: 支持畜牧管理系统开发,自动识别牲畜种类并统计数量,提升养殖场管理效率。 野生动物保护: 应用于自然保护区监控系统,实时检测特定动物物种,辅助生态研究和盗猎预警。 智能养殖设备: 为自动饲喂系统、健康监测设备等提供视觉识别能力,实现精准个体识别。 教育研究工具: 适用于动物行为学研究和计算机视觉教学,提供标准化的多物种检测数据集。 遥感图像分析: 支持航拍图像中的动物种群分布分析,适用于生态调查和栖息地研究。 三、数据集优势 多物种覆盖: 包含10类常见经济动物和野生动物,覆盖陆生哺乳动物与家禽类别,满足跨场景需求。 高密度标注: 支持单图多目标检测,部分样本包含重叠目标标注,模拟真实场景下的复杂检测需求。 数据平衡性: 经分层抽样保证各类别均衡分布,避免模型训练时的类别偏差问题。 工业级适用性: 标注数据兼容YOLO系列模型框架,支持快速迁移学习和生产环境部署。 场景多样性: 包含白天/夜间、近距离/远距离、单体/群体等多种拍摄条件,增强模型鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值