2017-04-05 116 views
1

我想一個傳說中matplotlib添加到我的圖表。而不是創建一個傳說,它將所有mylabels的完整列表放在圖例中。繪製與matplotlib一個傳說:錯誤

My圖表看起來是這樣的: enter image description here

傳說被切斷,我不能看多的是,我認爲由於它的大小。

這是我的代碼:

features2 = ["Number of Sides"] 
features3 = ["Largest Angle"] 
header2 = ["Label"] 

data_df = pd.DataFrame.from_csv("AllMixedShapes2.csv") 
X1 = np.array(data_df[features2].values) 
y1 = np.array(data_df[features3].values) 
l = np.array(data_df[header2].values) 

plt.scatter(X1[:, 0],y1, c=y, cmap=plt.cm.Paired, label=l) 
plt.axis([0, 17, 0, 200]) 
plt.ylabel("Maximum Angle (Degrees)") 
plt.xlabel("Number Of Sides") 
plt.title('Original 450 Test Shapes') 

plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) 
plt.show() 

而且AllMixedShapes2.csv看起來是這樣的:

enter image description here

我很新的蟒蛇和機器學習及香港專業教育學院嘗試過其他的例子,但我不能得到任何工作。

回答

0

Matplotlib的label參數意味着標記整個數據集的單個字符串,而不是數據集內點的單個標籤數組。如果你想傳遞將被彙總到一個傳說逐點標籤的陣列,最好的選擇可能是Seaborn庫。 Seaborn圍繞matplotlib提供了一個包裝器,用於更方便的統計可視化。

這應該做大約您希望與您的數據做什麼:

import seaborn 
seaborn.lmplot('Number of Sides', 'Largest Angle', hue='Label', 
       data=data_df, fit_reg=False) 

我建議更多的想法檢查了seaborn example gallery

+0

非常感謝,有也是一種方式來添加標題?我無法在文檔中看到它。 –

+0

Seaborn只是包裝matplotlib,所以你可以用''plt.title(「我的標題」)''再次 – jakevdp

+0

感謝傑克 –