2017-04-05 93 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

感谢杰克 –