matplotlib/pandas:在时间序列图中沿着绘制线放置线标签

nom*_*-ir 6 python matplotlib pandas

我正在绘制比较多个节点的系统特征的时间序列数据.我想明确地沿着它的线标记来自特定节点的线.到目前为止,我已经成功地为特定节点添加了单独的线条样式,这使其在图例框中具有独特的线条和独特的样式标记.

我试图找到一种方法,沿着线放置独特的标签,可能是沿着线弯曲的文本.有什么方法可以实现吗?

Joe*_*ton 5

使用matplotlib不容易沿着线条弯曲文本,但是annotate可以使用文本和箭头轻松标记线条.

例如

import matplotlib.pyplot as plt
import numpy as np

# Generate some data
x = np.linspace(0, 20, 200)
y = np.cos(x) + 0.5 * np.sin(3 * x)

fig, ax = plt.subplots()
ax.plot(x, y)

ax.annotate(r'$y = cos(x) + \frac{sin(3x)}{2}$', xy=(x[70], y[70]), 
            xytext=(20, 10), textcoords='offset points', va='center',
            arrowprops=dict(arrowstyle='->'))
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述