2016-03-29 5 views
3

thisのようなグラフを投稿しようとしています。timeseriesデータでggplotに領域プロットを描画するにはどうすればよいですか?

私のデータセットは次のようになっています。 2つの列があります。最初は、日付や秒数です:

date volume 

3/21/16 280 

3/20/16 279 

3/18/16 278 

3/4/16 277 

私は私のデータセットとのリンク作業からグラフを作成する方法についての損失でいます。どうもありがとうございます。

# Import required modules 
%matplotlib inline 
import pandas as pd 
import matplotlib.pyplot as pyplot 
import ggplot 

# Data 
data = pd.read_csv("niagra-falls-escape.csv") # Read CSV 
df = pd.DataFrame(data) 

# Viz 
ggplot(df, aes(x='date')) + \ 
geom_area()</code> 
+0

ggplotモジュールをインポートしていないようです。スクリプトの先頭に 'from ggplot import *'を追加すると動作しますか? – cr1msonB1ade

+0

@ cr1msonB1adeお返事ありがとうございます! OK ggplotをインポートしました。 ** NameError:name 'aes'が定義されていません** –

+0

あなたが提案したようにインポートしましたか、 'import ggplot'を使用しましたか? – ayhan

答えて

1

ここにいくつかの問題があります。最初のaes,geom_areaなどは、ggplotモジュールのクラスです。したがって、参照先のポストのように、import ggplotの代わりにfrom ggplot import *経由でインポートします。簡単なデバッグと保守可能なコードのために私が推奨するのは、from ggplot import ggplot, aes, geom_areaです。

あなたのコードにいくつかの問題があります。私は、日付がdatetimeデータ型であることを指定する必要があると思います。これを行うには、df['date'] = pd.to_datetime(df['date'])という行を追加します。

次に、あなたもあなたのプロットのy軸(面積プロットのためのYMINとYMAXの両方)を指定する必要があります。これは、ggplot(df, aes(x='date', ymin='0', ymax='volume')) + geom_area()によって行うことができます。お役に立てれば。

+0

はまだエラーを取得。それは「はAttributeErrorを言う: 『EvalEnvironment』オブジェクトが属性 『add_outer_namespace』を持っていない –

+0

うん私もそのエラーを取得しggplotパッケージと対話パンダの新しいバージョンで問題になるようだ。ここSOそのための交換です。。。HTTPS ://github.com/yhat/ggplot/issues/457修正があるフォークがあるように見えますが、マスターパッケージが現時点で明らかに壊れています。 – cr1msonB1ade

+0

まあ私はggplotと100%結婚していません。どのように別のライブラリでこれを行うには? –

関連する問題