2017-05-10 68 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()