我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

书接上文,在matplotlibpyplot画图中,使用annotate注释功能为目标坐标点添加了文本显示更多信息。实际上还有一个非常类似的.text()功能也可以添加文本,实现对目标点添加更多信息的目的。

苏南大叔:python画图,matplotlib如何为坐标点添加text文本? - matplotlib添加文本
python画图,matplotlib如何为坐标点添加text文本?(图3-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验。本文描述plot画图的.text()添加文本功能。测试环境:win10python@3.11.0pandas@1.5.3numpy@1.24.2matplotlib@3.7.1。本文的内容也不求大而全,用到哪里就写哪里。

.annotate()对比.text()

.annotate().text()功能比较类似,如果大家看下面这篇文章的话,会发现很多相似的参数和用法:

下面的是两者用法的最简单对比:

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 3)
y = x * x + 0.5
plt.plot(x, y, marker="o")
for xy in zip(x, y):
    # 任选一句话即可
    plt.annotate("(%s,%s)annotate" % xy, xy=xy)
    plt.text(xy[0], xy[1], "(%s,%s)text" % xy)
plt.show()

苏南大叔:python画图,matplotlib如何为坐标点添加text文本? - 完全一致效果
python画图,matplotlib如何为坐标点添加text文本?(图3-2)

在这个例子中,两者做到了完全一致的效果。但是,并不是说两者就是相同的用法。如果仔细查看两者的说明的话,可以看到两者的高级用法还是有所区别的,比如注释功能里面可以画箭头,文本功能里面可以设置对齐和旋转。

函数原型综述

函数的原型是这样的:

plt.text(x, y, string, size, family, color, style, weight, verticalalignment, horizontalalignment, rotation, bbox=dict(facecolor, alpha, boxstyle))
参数注释
x文本位置的横坐标
y文本位置的纵坐标
string文本内容
size文本字体大小
family文本字体类型:比如宋体、Times new roman等
color文本字体颜色
style文本字体风格:italic(斜体)
weight文本线条粗细:light
verticalalignment垂直对齐方式 ,可选 center/top/bottom/baseline 等
horizontalalignment水平对齐方式 ,可选 center/right/left 等
rotation标签的旋转角度,以逆时针计算,取整
bbox文本背景框设置

bbox参数:

参数注释
facecolor背景颜色
alpha背景颜色的透明度
boxstyle背景框的风格,默认是直角,boxstyle="round"为圆角

更多例子

plt.text(xy[0], xy[1], "(%s,%s)" % xy, size=12, family="Times new roman", color="black", style='italic', weight = "light", bbox=dict(facecolor="yellow", alpha=0.5, boxstyle="round"))

苏南大叔:python画图,matplotlib如何为坐标点添加text文本? - 更多例子
python画图,matplotlib如何为坐标点添加text文本?(图3-3)

相关文章

总结

到底是使用.annotate()功能,还是使用.text()功能,就看实际的需求了。如果需求非常简单的话,用谁都是可以的,但是参数的传递方式是完全不一致的,还请具体使用的时候做些分析。

更多苏南大叔的关于plot画图的碎碎念,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    plot