2017-05-10 152 views
0

我有两列[“频率”,“色”]的熊猫数据帧,它看起来像这样绘制大熊猫几点:用不同的颜色

name frequency color 
0 351 r 
1 122 r 
2 30 g 
3 85 r 
4 195 r 
5 88 g 
6 130 r 
7 85 r 
8 41 r 
9 9  g 

我要绘制的“频率”排序,取决于颜色。我尝试这样做:

plt.scatter(y=np.sort(data['frequency']),x=range(len(data['frequency'])),c=np.sort(data['color'])) 

,我得到了以下错误:

ValueError: to_rgba: Invalid rgba arg "['r']" to_rgb: Invalid rgb arg "('r',)" sequence length is 1; must be 3 or 4

什么是错误的代码?

+0

您的代码运行,没有错误我。 –

+0

确实出现了红色和绿色的颜色? –

回答

2

下图
enter image description here

由该代码生成:

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

frequency = [351,122,30,85,195,88,130,85,41,9] 
color = ["r","r","g","r","r","g","r","r","r","g"] 
df = pd.DataFrame({"frequency" : frequency, "color" : color}) 
df.sort_values("frequency", inplace=True) 

plt.scatter(x=range(len(df)), y= df["frequency"], c = df["color"]) 
plt.show()