目录
一、认识图表常用的辅助元素
坐标轴
二、设置坐标轴的标签、刻度范围和刻度标签
(一)、设置坐标轴的标签
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:表示垂直跨度的上限。