Matplotlib 添加文本,本文介绍如何为图表添加文字标签,极客教程前面章节介绍标题的添加方法,使用title()
函数即可。另外xlabel()
和ylabel()
函数专门用于添加轴标签,text()
函数允许在图表任意位置添加文本。
xlabel() 和 ylabel() 函数
如果需要为图表的x
轴和y
轴添加文本标签,xlabel()
和ylabel()
函数专门用于添加轴标签,把要显示的文本以字符串形式传给这两个函数作为参数。
现在把两条轴的标签添加到图表中,它们描述的是坐标轴数值的含义,如下所示:
import matplotlib.pyplot as plt
plt.axis([0,5, 0, 20])
plt.title("geek-docs.com")
plt.xlabel('Counting')
plt.ylabel('Square values')
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.show()
输出结果如下:
我们可以用关键字参数修改文本属性,例如,你可以修改标题的字体,使用更大的字号。你还可以指定轴标签的颜色为灰色,从而反衬出图形的标题。如下所示:
import matplotlib.pyplot as plt
plt.axis([0,5, 0, 20])
plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman")
plt.xlabel('Counting', color = 'gray')
plt.ylabel('Square values', color = 'gray')
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.show()
输出结果为:
text() 函数
pyplot
允许在图表任意位置添加文本,这个功能由text()
函数来实现,函数定义如下:
text(x, y, s, fontdict=None, **kwargs)
前两个参数为文本在图形中位置的坐标,s
为要添加的字符串,fontdict
(可选)为文本要使用的字体。最后是关键字参数。
text()
前两个参数为标签在图形中位置的坐标,我们可以使用四个数据点的坐标作为各标签的坐标,如下所示:
import matplotlib.pyplot as plt
plt.axis([0,5, 0, 20])
plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman")
plt.xlabel('Counting', color = 'gray')
plt.ylabel('Square values', color = 'gray')
plt.text(1, 1.5, 'First')
plt.text(2, 4.5, 'Second')
plt.text(3, 9.5, 'Third')
plt.text(4, 16.5, 'Fourth')
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.show()
输出结果如下,每个数据点都带有一个描述其相关信息的标签。
LaTex表达式
Matplotlib 整合了LaTex表达式,支持在图表中插入数学表达式。将表达式内容置于两个$
符号之间,可以在文本中添加Latex表达式。解释器会将符号之间的文本识别成LaTex表达式,把它们转换为数学表达式、公式、数学符号或希腊字母等。然后在图像中显示出来。通常,你需要在包含Latex表达式的字符串前添加r
字符,表明它后面是原始文本,不能对其进行转义字符。
现在我们使用关键字参数进一步丰富图形中的文本,添加描述图形各数据点趋势的公式,并为公式添加一个彩色边框。如下所示:
import matplotlib.pyplot as plt
plt.axis([0,5, 0, 20])
plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman")
plt.xlabel('Counting', color = 'gray')
plt.ylabel('Square values', color = 'gray')
plt.text(1, 1.5, 'First')
plt.text(2, 4.5, 'Second')
plt.text(3, 9.5, 'Third')
plt.text(4, 16.5, 'Fourth')
plt.text(1.1, 12, r'$y=x^2', fontsize=20, bbox={'facecolor':'yellow', 'alpha' : 0.2})
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.show()
输出结果如下:
相关文章推荐
Matplotlib Numpy
Matplotlib Pyplot
Matplotlib 安装教程