Matplotlib 添加文本

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()

输出结果如下:

Matplotlib 添加文本

我们可以用关键字参数修改文本属性,例如,你可以修改标题的字体,使用更大的字号。你还可以指定轴标签的颜色为灰色,从而反衬出图形的标题。如下所示:

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()

输出结果为:
Matplotlib 添加文本

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()

输出结果如下,每个数据点都带有一个描述其相关信息的标签。

Matplotlib 添加文本

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 添加文本

相关文章推荐

Matplotlib Numpy
Matplotlib Pyplot
Matplotlib 安装教程

赞(2)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址