python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > matplotlib pyplot添加文本注解

matplotlib之pyplot模块添加文本、注解(text和annotate)

作者:mighty13

matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图,下面这篇文章主要给大家介绍了关于matplotlib之pyplot模块添加文本、注解(text和annotate)的相关资料,需要的朋友可以参考下

概述

text函数作用是根据x,y坐标向图像添加文本。

annotate函数作用是根据x,y坐标向图像添加文本注解。

两者非常相似,但是又有一定差别。

text函数概述

text函数的签名为:matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)

参数说明如下:

text函数的返回值为Text对象。

annotate函数概述

annotate函数的签名为:matplotlib.pyplot.annotate(text, xy, *args, **kwargs))

参数说明如下:

text:注解文本。字符串。必备参数。

xy:需要注解的坐标,使用xycoords参数确定的坐标系。浮点数元组。必备参数。

xycoords:设置xy参数所使用的坐标系。字符串、Artist Transform 、可调用对象、 (float, float)。默认值为'data',即被注解对象的坐标系。可选参数。

说明
‘figure points’相对于图像左下角的点数(points)
‘figure pixels’相对于图像左下角的像素数(pixels)
‘figure fraction’相对于图像左下角的比例((0, 0) 为图像左下角 (1, 1) 为右上角)
‘axes points’相对于子图左下角的点数(points)
‘axes pixels’相对于子图左下角的像素数(pixels)
‘axes fraction’相对于子图左下角的比例
‘data’默认值,使用被注解对象的坐标系
‘polar’(theta, r)

xytext:放置注解文本的坐标。浮点数元组。默认值为xy。必备参数。

textcoords:设置xytext所使用的的坐标系。字符串、Artist Transform 、可调用对象、 (float, float)。默认值为xycoords参数。

说明
‘offset points’xy参数值的偏移量,单位为点(points)
‘offset pixels’xy参数值的偏移量,单位为像素(pixels)

annotation_clip:当注解超出子图区域后是否绘制。布尔值或None。默认值为None。可选参数。

**kwargs:Text对象的相关属性。

arrowprops:被注解坐标点xy与注解文本位置xytext之间的箭头属性。字典, FancyArrowPatch对象属性。默认值为None,即不绘制箭头。可选参数。

FancyArrowPatch相关属性如下:

text函数和annotate函数的对比

根据下面的示例可知:

text函数可在指定坐标点绘制文本。

annotate函数如果只使用text和xy参数,那么功能与text函数类似。

但是annotate函数可以独立设置注解文本的位置,还可以添加需要注解的数据坐标与注解文本之间的箭头。

import matplotlib.pyplot as plt

plt.xlim(0,5)
plt.ylim(0,5)
# 绘制3个坐标点
plt.plot((3,3,3),(1,2,3),'o')
# 使用text函数设置文本
plt.text(3,1,'text')
# 使用annotate函数必备参数绘制注解
plt.annotate('annotate', xy=(3, 2))
# 使用annotate函数绘制注解,添加指示箭头
plt.annotate('annotate', xy=(3, 3), xytext=(4,3),
            arrowprops=dict(arrowstyle='->',facecolor='black')
            )
plt.show()

总结

到此这篇关于matplotlib之pyplot模块添加文本、注解(text和annotate)的文章就介绍到这了,更多相关matplotlib pyplot模块添加文本注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文