更改散点的颜色w.r.t特征

时间:2016-04-13 18:20:06

标签: python pandas matplotlib

我有一个pandas Dataframe,它有3个功能(列),即X,Y和Z. X和Y是包含数据的列表,而Z包含字符串值列表(颜色-Red和amp; Blue)。我想要一个散点图,其中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()

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

2 个答案:

答案 0 :(得分:2)

您可以尝试使用seaborn:

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

答案 1 :(得分: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