python matplotlib.pyplot中绘制带文字标注的箭头,使其指向某一特定数据点
使用的绘图函数为:matplotlib.pyplot.annotate,其参数、使用方法在此文链接中有介绍:
matplotlib.pyplot.annotate
下面小菜给出一个自己绘制的案例:
代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 设置字体和大小
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['font.size'] = 12
# 生成x轴的数据点
x = np.linspace(-30, 30, 1000) # 扩展范围以适应两个分布
y = x**2
plt.plot(x, y)
plt.annotate('local min: (0,0)', xy=(0,0), xytext=(15,150),arrowprops=dict(color = 'red', shrink = 0.05, width = 0.5, headwidth = 5, headlength = 5),
color = 'black')
plt.show()
plt.annotate('local min: (0,0)', xy=(0,0), xytext=(15,150),arrowprops=dict(color = 'red', shrink = 0.05, width = 0.5, headwidth = 5, headlength = 5), color = 'black')
plt.annotate中小菜用到的这些参数的含义如下:
'local min: (0,0)'
:标注文字
xy
:箭头指向点的坐标
xytext
:箭头尾及文字标注的位置
color
:文字颜色
arrowprops
:箭头绘制时的样式定义
color
:箭头颜色
shrink
:箭头收缩率,箭头两端收缩的百分比(占总长)
width
:箭头的宽度
headwidth
:箭头头部的宽度
headlength
:箭头头部的长度