📜  Python中的 Matplotlib.pyplot.annotate()(1)

📅  最后修改于: 2023-12-03 15:19:24.998000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.annotate()

在Python中的 Matplotlib.pyplot.annotate()函数可以为图表中的特定位置添加注释或文本。本文将介绍该函数的用法和示例。

语法
matplotlib.pyplot.annotate(text, xy, xytext=None, arrowprops=None, **kwargs)

参数说明:

  • text:字符串类型,要添加的注释文本。
  • xy:元组类型,注释所在点的坐标。
  • xytext:元组类型,注释文本所在点的坐标。
  • arrowprops:字典类型,用于控制箭头的样式。
  • kwargs:用于控制注释文本的样式。
示例

基本用法

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]

ax.plot(x, y)

ax.annotate('Minimum', xy=(5, 2), xytext=(4.2, 7),
            arrowprops=dict(facecolor='black', shrink=0.1))

plt.show()

输出结果如下图所示:

basic_usage.png

在代码中,先创建了一个图表对象和一个子图对象,然后绘制了一条折线图。然后通过annotate()函数添加了注释,注释文本为‘Minimum’,注释点的坐标为(5, 2),注释文本所在点的坐标为(4.2, 7)。

控制箭头样式

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]

ax.plot(x, y)

ax.annotate('Minimum', xy=(5, 2), xytext=(4.2, 7),
            arrowprops=dict(facecolor='red', arrowstyle='wedge,tail_width=0.7', 
                            alpha=0.5, connectionstyle="angle3,angleA=0,angleB=-90"))

plt.show()

输出结果如下图所示:

arrow_props.png

使用arrowprops参数可以控制箭头的样式,可以使用字典类型来指定箭头的属性,比如颜色、风格、透明度以及连接样式等。在该例子中,箭头的颜色为红色,风格为‘wedge,tail_width=0.7’,透明度为0.5,连接样式为‘angle3,angleA=0,angleB=-90’。

控制注释文本样式

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]

ax.plot(x, y)

ax.annotate('Minimum', xy=(5, 2), xytext=(4.2, 7),
            arrowprops=dict(facecolor='red', arrowstyle='wedge,tail_width=0.7', 
                            alpha=0.5, connectionstyle="angle3,angleA=0,angleB=-90"),
            fontsize=12, color='blue', textcoords='offset points', xytext=(40, -15))

plt.show()

输出结果如下图所示:

text_props.png

可以通过kwargs参数来控制注释文本的样式,如字体大小、颜色、偏移量等。在该例子中,字体大小为12,颜色为蓝色,偏移量为(40, -15)。

结论

Matplotlib.pyplot.annotate()函数可以为图表中的特定位置添加注释或文本,并且可以控制箭头和注释文本的样式,可以让图表变得更加直观和清晰。