2016-04-13 3 views
0

У меня есть панда Dataframe, который имеет 3 функции (столбцы), а именно X, Y и Z. X и Y - списки, содержащие данные, тогда как Z содержит список строковых значений (цвета -Red & Синий). Я хочу график рассеяния с осью Х как функцию 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

Вы можете попробовать использовать Сиборн:

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

Он отлично работает, но вы можете сказать мне, как к нему ни с Matplotlib или панды? Я хочу использовать как можно меньше модулей. – Krishh

Смежные вопросы