2017-10-26 7 views
0

dataは、複数の属性を持つエントリの日付 - 時間インデックスを持つパンダデータフレームです。これらの属性の1つはSTATUSです。私はSTATUS属性で分けられた、1日あたりのエントリ数のプロットを作成しようとしました。パンダの時系列のプロット図は「なし」のみを示します

私の最初の試み使用してpandas.plot:

for status in data["STATUS"].unique(): 
    entries = data[data["STATUS"] == status] 
    entries.groupby(pandas.TimeGrouper("D")).size().plot(figsize=(16,4), legend=True) 

結果:

enter image description here

がどのように私は上記のコードを変更する必要がありますようにカーブが属する状態伝説のショー?

また、このような視覚化を実現するための別のアプローチを提案してください(時間間隔別の時系列、カウントエントリー、エントリーの属性別の時系列をグループ化してください)。

+1

[複数のラインをpandasデータフレームでプロットする](https://stackoverflow.com/questions/29233283/plotting-multiple-lines-with-pandas-dataframe) – ASGM

+0

あなたはどの列を持っていますか?たぶんあなたのデータの先頭や末尾を表示できますか? –

+0

あなたは 'data [" STATUS "]。unique()'の出力として何を得ますか? –

答えて

0

は、私はあなたのコードの変更以下に、あなたが望む結果を得るだろうと信じている:何が起こった

fig, ax = plt.subplots()  
for status in data["STATUS"].unique(): 
     entries = data[data["STATUS"] == status] 
     dfPlot = pandas.DataFrame(entries.groupby(pandas.TimeGrouper("D")).size()) 
     dfPlot.columns=[status] 
     dfPlot.plot(ax=ax, figsize=(16,4), legend=True) 

size関数の出力はあなたにその列内の名前のないSeriesタイプを与えることです。だからSeriesからDataframeを作成し、列名を変更することがそのトリックです。

+0

それだけが私に反復ごとに1つのプロットを与えます - それらを1つのプロットに結合する方法を理解する必要があります。 – clstaudt

+1

EDITED:plt.subplotsがトリックを行います – clstaudt

関連する問題