2016-04-13 134 views
0

我有一个有3个特征(列)一个熊猫据帧,即X,Y和Z X和Y是包含数据列表,而Z含有字符串值的列表(颜色 - 红色&蓝色)。我想与x轴作为特征X和y轴与特征量y的散点图,对于根据在Z.更改颜色的功能

对于离值有色散射点。如果一行中的Z值为红色,则将该点着色为红色,如果其蓝色则为蓝色。

data_frame['X'] = pandas.Series(X) 
data_frame['Y'] = pandas.Series(Y) 
data_frame['Z'] = pandas.Series(Z) 

data_frame.plot(kind='scatter', x='X', y='Y') 
pl.show() 

情节工作正常,但我无法弄清楚如何实现颜色部分。有任何想法吗??

回答

1
import numpy as np 
import matplotlib.pyplot as plt 
N = 50 
x = np.random.rand(N)  # pandas series works too 
y = np.random.rand(N) 
colors = np.random.rand(N) 
circle = 100* np.ones(50) 
plt.scatter(x, y, c=colors, s=circle, alpha=0.6) 
plt.show() 

the resulting plot

+0

作品!谢谢!! – Krishh

2

你可以尝试使用seaborn:

import seaborn as sns 
sns.lmplot("X", "Y", data= data_frame, hue='Z', fit_reg=False) 
+0

它做工精细,但你能告诉我怎么把它与任何matplotlib或熊猫吗?我想尽可能少使用模块。 – Krishh