Matplotlib/Pandas:如何在时间序列图中沿着绘制的线条放置线条标签?

6
我正在绘制多个节点的系统特性对比时间序列数据。我想要明确地在特定节点的线条上标记该节点的名称。到目前为止,我已经成功地为特定节点设置了单独的线条样式,这使其在图例框中具有独特的线条和独特的样式标记。
我正在尝试找到一种方法来沿着线条放置独特的标签,可能是文本曲线。有什么办法可以实现这一点吗?
1个回答

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()

enter image description here


谢谢您的建议。我知道annotate,但是计划使用它来指出重要的时间阶段。现在我将使用annotate来实现这篇文章中所寻求的目标。难点将是编程上找到特定行中与其他行分开的点。 - nom-mon-ir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接