2016-08-25 10 views
-1

私はいくつかの線を持つ折れ線グラフを各グループに1つずつプロットしようとしています。 X軸は時間、y軸はカウントです。 データフレームに3つのグループがあるので、私は1つの折れ線グラフに3つの線を持ちます。 これは私が使ったコードですが、どこが間違っているのかわかりません。matplotlibを使用して折れ線グラフに複数の線をプロットする

Group  Hour   Count 
G1   1    40 
G2   1    300 
G1   2    400 
G2   2    80 
G3   2    1211 

コードを使用:

fig, ax = plt.subplots() 
labels = [] 
for key, grp in df1.groupby(['Group']): 
    ax = grp.plot(ax=ax, kind='line', x='x', y='y', c=key) 
    labels.append(key) 
lines, _ = ax.get_legend_handles_labels() 
ax.legend(lines, labels, loc='best') 
plt.show() 
+0

5データポイントから3行を得るにはどうすればよいですか? 2行と1点を意味しますか? G3には1つのエントリしかありません。 – lanery

+0

グループごとに1行(G1、G2、G3) – user3447653

+1

ラインプロットを形成するには2点が必要なので、G3の線はどのようになりますか? –

答えて

2

あなたはdf.pivotを使用し、一点だけがあるので、自分自身にいくつかの行

enter image description here

G3は点としてプロットされる

df.pivot('Hour', 'Group', 'Count').plot(kind='line', marker='o') 
を保存することができます(2時間、1211カウント)がそれに関連付けられています。

+0

y軸の点の間隔範囲を設定する方法はありますか? y軸の場合と同様に、0から始まる数字を0から増やす必要があります – user3447653

+0

yticks = np.arange(0、df ['Count']。max()、50) 'を引数として追加する方法もあります「プロット」する。他の方法は、他のスタックオーバーフローポストでより詳細にカバーされている。たとえば、次のようなものがあります:http://stackoverflow.com/questions/12608788/changing-the-tick-frequency-on-x-or-y-axis-in-matplotlib – lanery

関連する問題