2016-08-02 4 views
0

x軸がdatetimeで、y軸がintである散布図が必要です。また、離散的で連続的ではないデータポイントがいくつかあるので、データポイントを接続したくありません。Python pandasプロット散布日時エラー

私のデータフレームは、次のとおりです。

df = pd.DataFrame({'datetime':[dt.datetime(2016,1,1,0,0,0), dt.datetime(2016,1,4,0,0,0), 
    dt.datetime(2016,1,9,0,0,0)], 'value':[10, 7, 8]}) 

は、私が「ライン」の図だより「正常な」プロットを使用する場合:

df.plot(x='datetime', y='value') 

をしかし、どのように、私はドットのみをプロットすることができますか?

df.plot(x='datetime', y='value', marker='o', linewidth=0) 

しかしscatterバージョンが動作しない理由を私は理解していない..:

私は例えば、私が望む結果を得るために、いくつかのチートを使用することができます。もちろん、
df.plot.scatter(x='datetime', y='value') 
KeyError: 'datetime' 

:これはエラーになります。

ありがとうございました!

答えて

1

散布図は、DataFrame.plot.scatter()メソッドを使用して描画できます。散布図には、x軸とy軸に対して数値の列が必要です。これらの はそれぞれxとyキーワードで指定できます。

代替アプローチ:

In [71]: df['day'] = df['datetime'].dt.day 

In [72]: df.plot.scatter(x='day', y='value') 
Out[72]: <matplotlib.axes._subplots.AxesSubplot at 0x25440a1bc88> 

Image

+1

ありがとうございます!だからバグではなく、それは機能です。ニース;-) – ragesz

関連する問題