2016-06-23 4 views
0

私はこのコードを使用して散布図としてデータフレームをプロットしています:DataFrameの問題から結果(散布図)をプロットする。 Pythonの

私のデータフレームがやや次のようになります -

Sector AvgDeg 
0  1  52 
1  2  52 
2  3  52 
3  4  54 
4  5  52 
...  ...  ... 

df.plot.scatter(x='Sector', y='AvgDeg', s=df['AvgDeg'], color='LightBlue',grid=True) 
plt.show() 

と、私はこの結果を取得しています: enter image description here

何をI異なる色と対応する凡例を持つすべてのドットを描画する必要があります。たとえば、-blue dot- 'Sector 1'、-red dot- 'Sector 2'などとなります。

どうすればいいですか? Tks !!

答えて

1

散布図のcパラメータの点と同じサイズのリストを使用するだけです。これは結果としてあなたを与えるもの

cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA', '#AAAAFF']) 
txt = ["text1", "text2", "text3", "text4"] 
fig, ax = plt.subplots() 
x = np.arange(1, 5) 
y = np.arange(1, 5) 
#c will change the colors of each point 
#s is the size of each point... 
#c_map is the color map you want to use 
ax.scatter(x, y,s = 40, cmap = cmap_light, c=np.arange(1, 5)) 
for i, j in enumerate(txt): 
    #use the below code to display the text for each point 
    ax.annotate(j, (x[i], y[i])) 
plt.show() 

がある - enter image description here

は、あなただけのお奨めのサイズを変更するたとえば31ポイントのために多くの異なる色を割り当てるには...

ax.scatter(x, y,s = 40, cmap = cmap_light, c=np.arange(1, 32)) 

同様にあなたに上記のtxtリストを変更することにより、これらの点に注釈を付けることができます。

+0

を、それはまだ働いていません。コードは4つの項目で正常に機能しますが、31以上の項目で異なる色と異なる凡例を割り当てる必要があります)。あなたは私に手を差し伸べることができますか? – PAstudilloE

+0

それに応じて配列を変更するだけで、私は答えを編集します... – hashcode55

+0

素晴らしいですが、私はすでにそれを行いました。私が得ている問題は、cmap_light = ListedColormap(['#FFAAAA'、 '#AAFFAA'、 '#AAAAFF'])は私に3色のセットしか与えないことです。しかし、より多くの色のカラーマップを生成する方法を見たいと思います。 – PAstudilloE

0

私はそれをこのように行うだろう:

import matplotlib.pyplot as plt 
import matplotlib as mpl 

mpl.style.use('ggplot') 

colorlist = list(mpl.colors.ColorConverter.colors.keys()) 

ax = df.plot.scatter(x='Sector', y='AvgDeg', s=df.AvgDeg*1.2, 
        c=(colorlist * len(df))[:len(df)]) 
df.apply(lambda x: ax.text(x.Sector, x.AvgDeg, 'Sector {}'.format(x.Sector)), axis=1) 

plt.show() 

結果hashcode55 @申し訳

enter image description here

+0

TKSはURのヘルプですが、このコードはいくつかの 'セクター'がある場合にのみ機能します。私のDFは31で、色は繰り返しています。 31のセクタにこのコードを適用し、色を繰り返さないようにするにはどうすればよいですか? – PAstudilloE

+0

@PAstudilloE、31種類の色のリストを生成する方法を見つける! ;) – MaxU

関連する問題