数据可视化(matplotlib)-------辅助图标的设置

发布于:2025-03-23 ⋅ 阅读:(47) ⋅ 点赞:(0)

目录

一、认识图表常用的辅助元素

坐标轴

 二、设置坐标轴的标签、刻度范围和刻度标签

(一)、设置坐标轴的标签

1、xlabel()------设置x轴标签

2、ylabel()------设置y轴标签

(二) 、设置刻度范围和刻度标签

1、xlim()和ylim()函数分别可以设置或获取x轴和y轴的刻度范围

2、xticks()或yticks()函数可以设置x轴或y轴的刻度线位置和刻度标签。

案例

三、添加标题和图例

(一)、title()函数可以添加图表标题

(二) 、legend()函数可以为图表添加图例

四、显示网格

显示指定样式的网格-----grid()函数显示图表中的网格

五、添加参考线和参考区域

1、axhline()函数可以为图表添加水平参考线

2、axvline()函数可以为图表添加垂直参考线

(二)、参考区域

1、axhspan()函数可以为图表添加水平参考区域

2、axvspan()函数可以为图表添加垂直参考区域


一、认识图表常用的辅助元素

坐标轴:分为单坐标轴和双坐标轴,单坐标轴按不同的方向又可分为水平坐标轴(又称x轴)和垂直坐标轴(又称y轴)。

标题:表示图表的说明性文本。

图例:用于指出图表中各组图形采用的标识方式。

网格:从坐标轴刻度开始的、贯穿绘图区域的若干条线,用于作为估算图形所示值的标准。

参考线:标记坐标轴上特殊值的一条直线。

参考区域:标记坐标轴上特殊范围的一块区域。

注释文本:表示对图形的一些注释和说明。

表格:用于强调比较难理解数据的表格。

坐标轴

坐标轴是由刻度标签刻度线(主刻度线和次刻度线)、轴脊坐标轴标签组成。

“x轴”为坐标轴的标签。

“0”~“7”均为刻度标签。

“0”~“7”对应的短竖线为刻度线,且为主刻度线。

刻度线上方的横线为轴脊。

matplotlib中的次刻度线默认是隐藏的。

 二、设置坐标轴的标签、刻度范围和刻度标签

(一)、设置坐标轴的标签

1、xlabel()------设置x轴标签

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

xlabel:表示x轴标签的文本。

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

labelpad:表示标签与x轴轴脊间的距离。

2、ylabel()------设置y轴标签

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

ylabel:表示y轴标签的文本。

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

labelpad:表示标签与y轴轴脊间的距离。

注:Axes对象使用set_xlabel()方法可以设置x轴的标签,使用set_ylabel()方法可以设置y轴的标签。set_xlabel()、set_ylabel()方法与xlabel()、ylabel()函数的参数用法相同。

(二) 、设置刻度范围和刻度标签

坐标轴的刻度范围取决于数据中的最大值和最小值。

例子:

若没有指定任何数据,x轴和y轴的刻度范围为0.05~1.05,刻度标签为[-0.2, 0. 0, 0.2, 0.4, 0.6, 0.8, 1. 0, 1.2];

若指定了数据,刻度范围和刻度标签会随着数据的变化而变化。

1、xlim()和ylim()函数分别可以设置或获取x轴和y轴的刻度范围

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

left:表示x轴刻度取值区间的左位数。

right:表示x轴刻度取值区间的右位数。

emit:表示是否通知限制变化的观察者,默认为True。

auto:表示是否允许自动缩放x轴,默认为True。

注:此外,Axes对象可以使用set_xlim()或set_ylim()方法设置x轴或y轴的刻度范围。

2、xticks()或yticks()函数可以设置x轴或y轴的刻度线位置和刻度标签。

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

ticks:表示刻度显示的位置列表,该参数可以设置为空列表,以此禁用x轴的刻度。

labels:表示指定位置刻度的标签列表。

注:此外,Axes对象可以使用set_xticks()或set_yticks()方法设置x轴或y轴的刻度线位置,使用set_xticklabels()或set_yticklabels()方法设置x轴或y轴的刻度标签。

案例

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x, y1, x, y2)
# 设置 x 轴和 y 轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
# 设置 x 轴的刻度范围和刻度标签
plt.xlim(-4, 4)
# matplotlib有自己特殊的标记符,都是用$$括起来,字符串前要加个r(取消转义)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$',r'$0$', r'$\pi/2$', r'$\pi$'])
plt.show()

三、添加标题和图例

(一)、title()函数可以添加图表标题

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

abel:表示标题的文本。

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

loc:表示标题的对齐样式。left,fight,centre

pad:表示标题与图表顶部的距离,默认为None。

注:Axes对象还可以使用set_title()方法为图表添加标题。

(二) 、legend()函数可以为图表添加图例

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

handles:表示由图形标识构成的列表。

labels:表示由图例项构成的列表。

loc:用于控制图例在图表中的位置。

ncol:表示图例的列数,默认值为1。

title:表示图例的标题,默认值为None。

shadow :表示是否在图例后面显示阴影,默认值为None。

fancybox:表示是否为图例设置圆角边框,默认值为None

四、显示网格

网格可以分为垂直网格和水平网格,这两种网格既可以单独使用,也可以同时使用。

显示指定样式的网格-----grid()函数显示图表中的网格

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

b:表示是否显示网格。

which:表示显示网格的类型,默认为major。

axis:表示显示哪个方向的网格,默认为both。

linewidth 或 lw:网格线的宽度。

还可以使用Axes对象的grid()方法显示网格。

若坐标轴没有刻度,则将无法显示网格。

五、添加参考线和参考区域

(一)、添加参考线2

1、axhline()函数可以为图表添加水平参考线

axhline(y=0, xmin=0, xmax=1, linestyle='-', **kwargs)

y:表示水平参考线的纵坐标。

xmin:表示水平参考线的起始位置,默认为0。

xmax:表示水平参考线的终止位置,默认为1。

linestyle:表示水平参考线的类型,默认为实线。

2、axvline()函数可以为图表添加垂直参考线

axvline(x=0, ymin=0, ymax=1, linestyle='-', **kwargs)

x:表示垂直参考线的横坐标。

ymin:表示垂直参考线的起始位置,默认为0。

ymax:表示垂直参考线的终止位置,默认为1。

linestyle:表示垂直参考线的类型,默认为实线。

(二)、参考区域

1、axhspan()函数可以为图表添加水平参考区域

axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs)

ymin:表示水平跨度的下限,以数据为单位。

ymax:表示水平跨度的上限,以数据为单位。

xmin:表示垂直跨度的下限,以轴为单位,默认为0。

xmax:表示垂直跨度的上限,以轴为单位,默认为1。

2、axvspan()函数可以为图表添加垂直参考区域

axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs)

xmin:表示垂直跨度的下限。

xmax:表示垂直跨度的上限。