2013-03-04 143 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