2016-04-30 22 views
0

我使用附加圖例numpy的陣列中matplot LIB

import numpy as np 
import matplotlib.pyplot as plt 

x = np.array([1,2,3]) 
y = np.array([[2,2.2,3],[1,5,1]]) 
plt.plot(x,y.T[:,:]) 
plt.legend() 
plt.show() 

我想要一個圖例,它告訴哪個線屬於哪個行繪製2D numpy的陣列。當然,我意識到我不能給它有意義的名字,但是我需要某種獨特的標籤,而不需要通過循環。

回答

1
import numpy as np 
import matplotlib.pyplot as plt 
import uuid 

x = np.array([1,2,3]) 
y = np.array([[2,2.2,3],[1,5,1]]) 

fig, ax = plt.subplots() 
lines = ax.plot(x,y.T[:,:]) 
ax.legend(lines, [str(uuid.uuid4())[:6] for j in range(len(lines))]) 


plt.show() 

example output

(這是切斷電流MPL主分支與的2.0默認樣式預覽)

+0

的OP要求獨特標籤,所以這些標籤被保證是唯一的; ) – tacaswell

+0

ued'[j + 1 for j in range(len(lines))]'這是足夠獨特的。謝謝 – DeanLa

+0

今天感覺有點sn apparent .... – tacaswell