2017-07-20 13 views
2

名前、日付、統計を含むいくつかの列を持つDataFrameがあります。私は一定期間にわたり統計量をグラフにプロットし、各行の伝説を名前と一致させようとしています。forループの変数を使ってpyplotの凡例の値を代入する

私は何か新しいことを試すたびに、統計列の名前を取得するか、名前列の名前を2回繰り返すか、切り捨てます。

既存のforループで凡例に両方の名前を表示させることはできますか?

fig, ax = plt.subplots() 
for name, group in statistics.groupby('A name'): 
    group.plot(ax=ax, label=name) 
    print(name) 

plt.legend() 

プロット上に2つの別々の行を印刷します。このコードは、私が代わりに私がしようとしている何である人物の名前をプロットしていSTATのための列の名前を各行を与えますlabel = nameで行います。 forループのprintステートメントは、名前を正しく出力します。

プロットされた行にラベルを正しい名前に設定するにはどうすればよいですか?

答えて

2

あなたはそれらの行を取得する必要がありハンドル:この答えはあなたを助けている場合

statistics = pd.DataFrame({'A name':pd.np.random.choice(list('ABCD'),20),'Data Values':np.random.randint(0,100,20)}) 
fig, ax = plt.subplots() 
lh = {} 
for name, group in statistics.groupby('A name'): 
    lh[name] = group.plot(ax=ax, label=name) 
    print(name) 

plt.legend(lh) 

enter image description here

+0

@vandy、あなたがupvoteとなり、[受け入れる](https://meta.stackexchange.com/questions/5234/how-does-accept-an-answer-work?answertab = votes#tab-top)。 –

+0

投票には十分な担当者がいませんが、受け入れられます。ありがとうございました!これはどうやってどうやって説明できますか?それは間違いありませんが、私はなぜそれが表示されません。 – vandy

+0

@vandy ...大丈夫、私はその問題を解決しました。 :-)受け入れてくれてありがとう! –

関連する問題