2013-03-04 144 views
5

我正在绘制比较来自多个节点的系统特征的时间序列数据。我想从一个特定的节点明确地沿着它的线标出这条线。到目前为止,我已经成功地为特定节点放置了单独的线条样式,这使得它在图例框中具有独特的线条和独特的风格标记。matplotlib/pandas:在时间序列图中绘制沿着绘制线的线标签

我试图找到一种方法来沿线添加独特的标签,可能是文字沿着线条弯曲。任何方式来实现这一目标?

回答

5

沿着线条弯曲的文本不容易用matplotlib完成,但annotate将允许您轻松地用文本和箭头标记该行。

E.g.

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

+0

感谢您的想法。我意识到注释,但正计划用它来及时指出重要阶段。我现在将使用注释来实现本文所追求的目标。障碍将以编程的方式找出特定行中与其他行分开的一个点。 – 2013-03-05 18:11:45