You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的Matplotlib在图表中添加自定义信息

在Matplotlib中添加自定义箭头与文本标注

当然可以!Matplotlib提供了灵活的工具来添加自定义箭头和文本标注,其中annotate()函数是实现带箭头标注的核心工具,完全能满足你提到的需求。

基础示例:添加带箭头的标注

以下是一个完整的示例代码,先绘制基础图表,再添加类似你描述的蓝圈标注风格的箭头与文本:

import matplotlib.pyplot as plt
import numpy as np

# 绘制基础折线图
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y, linewidth=2)

# 添加自定义箭头标注
plt.annotate(
    '局部最高点',  # 标注的文本内容
    xy=(np.pi/2, 1),  # 箭头指向的目标坐标点
    xytext=(np.pi/2 + 1.5, 1.1),  # 文本放置的位置
    arrowprops=dict(
        facecolor='blue',  # 箭头填充色
        edgecolor='darkblue',  # 箭头边框色
        shrink=0.05,  # 箭头两端收缩,避免与点/文本重叠
        width=2,  # 箭杆的宽度
        headwidth=8,  # 箭头头部的宽度
        headlength=10  # 箭头头部的长度
    ),
    fontsize=12,
    color='darkblue',
    bbox=dict(facecolor='white', edgecolor='blue', boxstyle='round,pad=0.3')  # 给文本加带圆角的边框
)

plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('带自定义标注的正弦曲线图')
plt.show()

关键参数说明

  • xy:箭头指向的目标坐标(默认使用数据坐标)。
  • xytext:标注文本的位置坐标。
  • arrowprops:箭头样式的配置字典,可自定义颜色、粗细、箭头形状等细节。
  • bbox:可选参数,给文本添加背景框,增强标注的可读性。

额外技巧

  • 如果只需要添加无箭头的文本,直接使用plt.text(x, y, '文本内容', fontsize=12, color='red')即可。
  • 可以通过xycoords='axes fraction'参数使用相对坐标,让标注固定在图表的某个区域(比如右上角),不受数据缩放影响。

内容的提问来源于stack exchange,提问作者learning_user

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 00:07:45