第 3 章 图表辅助元素的定制

学习目标
★认识图表常用的辅助元素
★掌握坐标轴的定制方法,包括设置坐标轴的标签、刻度范围和刻度标签
★掌握标题与图例的定制方法,能够为图表添加标题和图例
★掌握网格的定制方法,包括显示网格及设置网格的样式
★掌握参考线和参考区域的定制方法,能够为图表添加参考线和参考区域
★掌握注释文本的定制方法,包括为图表添加指向型和无指向型的注释文本
★掌握表格的定制方法,能够为图表添加表格
第 2 章使用 matplotlib 绘制了一些简单的图表,并通过这些图表直观地展示了数据,但
这些图表还有一些不足。例如,折线图中的多条折线因缺少标注而无法区分折线的类别,柱
形图中的矩形条因缺少数值标注而无法知道准确的数据等。因此,需要添加一些辅助元素来
准确地描述图表。matplotlib 提供了一系列定制图表辅助元素的函数或方法,可以帮助用户快
速且正确地理解图表。本章将对图表辅助元素的定制进行详细介绍。
3.1 认识图表常用的辅助元素
图表的辅助元素是指除根据数据绘制的图形之外的元素,常用的辅助元素包括坐标轴、
标题、图例、网格、参考线、参考区域、注释文本和表格,它们都可以对图形进行补充说明。
为了便于理解,下面以折线图为例介绍图表常用的辅助元素,如图 3-1 所示。
图 3-1 中的图表常用辅助元素的说明如下。
·坐标轴 :分为单坐标轴和双坐标轴,单坐标轴按不同的方向又可分为水平坐标轴(又
x 轴)和垂直坐标轴(又称 y 轴)。
·标题 :表示图表的说明性文本。
·图例 :用于指出图表中各组图形采用的标识方式。
·网格 :从坐标轴刻度开始的、贯穿绘图区域的若干条线,用于作为估算图形所示值的
标准。
·参考线 :标记坐标轴上特殊值的一条直线。
·参考区域 :标记坐标轴上特殊范围的一块区域。
·注释文本 :表示对图形的一些注释和说明。
·表格 :用于强调比较难理解数据的表格。
坐标轴是由刻度标签、刻度线(主刻度线和次刻度线)、轴脊和坐标轴标签组成的。以
图 3-1 的 x 轴为例,下面通过一张图来描述坐标轴的完整结构,如图 3-2 所示。
图 3-2 中,“ x 轴”为坐标轴的标签,“0”~“7”均为刻度标签,“0”~“7”对应的短
竖线为刻度线,且为主刻度线,刻度线上方的横线为轴脊。需要说明的是,matplotlib 的次刻
度线默认是隐藏的。
需要注意的是,不同的图表具有不同的辅助元素。例如,饼图是没有坐标轴的,而折线

图是有坐标轴的,可根据实际需求进行定制。

3.2 设置坐标轴的标签、刻度范围和刻度标签
坐标轴对数据可视化效果有着直接的影响。坐标轴的刻度范围过大或过小、刻度标签过
多或过少,都会导致图形显示的比例不够理想。本节将对坐标轴的标签、刻度范围和刻度标
签的设置进行讲解。
3.2.1 设置坐标轴的标签
matplotlib 提供了设置 x 轴和 y 轴标签的方式,下面分别进行介绍。
1.设置 x 轴的标签
matplotlib 中可以直接使用 pyplot 模块的 xlabel() 函数设置 x 轴的标签,xlabel() 函数的语

法格式如下所示 :

xlabel(xlabel, fontdict=None, labelpad=None, ** kwargs)
该函数各参数含义如下。
·xlabel :表示 x 轴标签的文本。
·fontdict :表示控制标签文本样式的字典。
·labelpad :表示标签与坐标轴边框(包括刻度和刻度标签)的距离。
此外,Axes 对象使用 set_xlabel() 方法也可以设置 x 轴的标签。
2.设置 y 轴的标签
matplotlib 中可以直接使用 pyplot 模块的 ylabel() 函数设置 y 轴的标签,ylabel() 函数的语
法格式如下所示 :
ylabel(ylabel, fontdict=None, labelpad=None, ** kwargs)
该函数的 ylabel 参数表示 y 轴标签的文本,其余参数与 xlabel() 函数的参数的含义相同,
此处不再赘述。此外,Axes 对象使用 set_ylabel() 方法也可以设置 y 轴的标签。
假设现在有一个包含正弦曲线和余弦曲线的图表,该图表中设置 x 轴和 y 轴的标签,具
体代码如下。
In [1]:
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 ")
plt.show()
运行程序,效果如图 3-3 所示。

猜你喜欢

转载自blog.csdn.net/qq_43416206/article/details/132262712
今日推荐