添加各类标签
绘图时可以为图形添加一些标签信息,比如标题、坐标名称、坐标轴的刻度等。pyplot模块中提供了为图形添加标签的函数,常用的如表1所示。
表1 图表添加标签和图例的常用函数
函数名称 | 说明 |
---|---|
title() | 设置当前轴的标题 |
xlabel() | 设置当前图形x轴的标签名称 |
ylabel() | 设置当前图表y轴的标签名称 |
xticks() | 指定x轴刻度的数目与取值 |
yticks() | 指定y轴刻度的数目与取值 |
xlim() | 设置或获取当前图形x轴的范围 |
ylim() | 设置或获取当前图形y轴的范围 |
legend() | 在轴上放置一个图例 |
表1中列出的这些函数之间是并列关系,没有先后顺序,我们既可以先绘制图形,也可以先添加标签。值得一提的是,图例的添加只能在绘制完图形之后。
接下来,通过一个简单的示例来演示如何给图形添加各种标签,具体代码如下。
In [8]: import numpy as np
data = np.arange(0, 1.1, 0.01)
plt.title("Title") # 添加标题
plt.xlabel("x") # 添加x轴的名称
plt.ylabel("y") # 添加y轴的名称
# 设置x和y轴的刻度
plt.xticks([0, 0.5, 1])
plt.yticks([0, 0.5, 1.0])
plt.plot(data, data**2) # 绘制y=x^2曲线
plt.plot(data, data**3) # 绘制y=x^3曲线
plt.legend(["y=x^2", "y=x^3"]) # 添加图例
plt.show() # 在本机上显示图形
运行结果如图1所示。
图1 运行结果
多学一招:图表正确显示中文
在使用Matplotlib绘图时,如果要设置的图表标题中有中文字符,则会变成方格子而无法正确显示。实际上Matplotlib是支持中文编码的,造成这种情况主要是因为Matplotlib库的配置信息里面没有中文字体的相关信息,这时推荐采用如下方式进行解决:
在python脚本中动态设置matplotlibrc,这样就可以避免由于更改配置文件而造成的麻烦,具体代码如下。
from pylab import mpl
# 设置显示中文字体
mpl.rcParams[‘font.sans-serif] = [‘SimHei’]
另外,由于字体更改以后,会导致坐标轴中的部分字符无法正常显示,这时需要更改axes.unicode_minus参数,具体代码如下。
mpl.rcParams['axes.unicode_minus'] = False # 设置正常显示符号