我想用python matplotlib创建一个散点图,其中点的颜色应该与数据文件中的特定字符串相对应,所以像这样:
data = np.genfromtxt('filename.txt', delimiter=',', dtype=None, names=['a', 'b', 'c'])
plt.scatter(data['a'], data['b'])
因此文件'a'的第一列是浮点数,第二列'b'是浮点数,第三列'c'是字符串。字符串列包含5个不同的单词,我想绘制,因为5种不同的颜色是散点图。有任何想法吗?非常感谢!
答案 0 :(得分:8)
这些方面的东西应该可以解决问题:
color_dict = { 'Allan':'red', 'Betty':'blue', 'Chris':'black', 'Diane':'green','Eugene':'purple' }
plt.scatter( data['a'], data['b'], color=[ color_dict[i] for i in data['c'] ] )