欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pyplot tutorial(翻译)

程序员文章站 2022-07-13 21:51:37
...
   (第五部分 在文本中使用数学表达式)

matplotlib可以在任何文本展示中接受Tex 方程式语言(了解更多的Tex:http://www.ctex.org/documents/shredder/tex_frame.html).
例如为了书写 σi=15在标题中,你可以书写如下用美元符号包围的 Tex 方程式:

plt.title(r'$\sigma_i = 15')#csdn的blog本身就支持Tex方程式表达语言

在上述示例代码中,前导的 字符 r 是非常重要的,这意味着后面的字符串是原始字符串,并不会对反斜杠进行Python转义(Python escape)。matplotlib内置了Tex表达式解析器和布局引擎,装有(ship)自己的数学字体-查看 Writing mathematical expressions 了解详细信息(书写数学表达式的详细信息)。
因此你使用跨平台的数学表达式文本而不需要再次安装Tex。对于安装了LaTex和divpng的人,你可以使用LaTeX来格式化你的文本并且直接合并输出到展示图形上或者保存成脚本(post script)。-查看 Text rendering With LaTex。

注释文本(Annotating Text)
上面的text()基本命令可以让你在坐标系的任意位置放置文本。一种常用的文本使用方式是对图形中的一些特征(feature)进行注释。并且,annotate()提供的帮助功能使你可以非常容易的进行文本标注。

在文本注释中,有2个点(points)需要考虑(consider):xy参数指定了需要进行标注的点的位置,而xytext参数指定了注释文本所在的位置。(如你对(100,100)的坐标点进行标注,但是注释的文本可以放在(150,150)处)。这2个参数都是(x,y)元组(tuple)。下面是一个示例:

import numpy as np
import matplotlib.pyplot as plt

ax = plt.subplot(111)

t = np.arange(00.0,2.0,0.01)
s = np.cos(2*np.pi*t)

line, = plt.plot(t,s,lw=2)

plt.annotate('local max',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black'.shrink=0.05),)
plt.ylim(-2,2)
plt.show()

运行结果如下:
pyplot tutorial(翻译)

在这个基本打例子中,xy(箭头提示)和xytext(文本位置)都在数据坐标之内(data coordinate).还有多种坐标系可以选择,可以选择其中之一使用–查看 Basic annotation 和 Advanced Annotation 了解详细信息,在pylab_examples example code:annotation_demo.py可以找到更多的文本注释的例子。

相关标签: pyplot