2016-09-01 13 views
0

複数の行を同じプロットに配置したいが、いくつかの行に利用可能なデータの一部だけを使いたい。各データセットには1925年から現在までのデータが含まれていますが、x軸にその範囲全体を表示したいのですが、1925年から1940年までのデータセットA、1941年から1958年までのデータセットBなどを表示したいだけです。 つまり、軸ではなくデータ自体に制限を設定したいと考えています。xlim-python、matplotlibを使わないデータ範囲を制限する

fig, ax = plt.subplots(figsize=(15,10)) 

plt.plot_date(DF['date'], DF['data1'], '.') 
plt.plot_date(DF['date'], DF['data2'], '.') 
plt.plot_date(DF['date'], DF['data3'], '.') 
plt.plot_date(DF['date'], DF['data4'], '.') 

ylabel('Mean Streambed Elevation (feet)') 
plt.xlim('1925-01-01', '2020-01-01') 

は私の検索のすべてのちょうどXLIM()を使用することによって解決される問題を発見した、それは私が探しているものではないのです。私は解決策が各plt.plot_date行に何かを加えることになると思っていますが、私は何を追加すべきか分かりません。

答えて

1

パンダのデータフレームのサブセットを選択する方法はたくさんあります。

data_for_plotting=DF.query("date>'1925-01-01' and date<'1940-01-01'")

のようなインスタンスのために何か

は次にプロット文の残りの部分にその代わりにDFのパス。

http://pandas.pydata.org/pandas-docs/stable/indexing.htmlを見ると、同じことを行う他の方法があります。

+0

これは機能しました!以前は自分の検索語をどのように言いたいのか分からなかったと思います(私はPython/Python/Matplotlibの新機能です)。 – mnbvcxzsdfghjkl

+1

'query()'は私たちがもっとうまくやってくれると信じています: 'DF.query(" '1925-01-01' MaxU

関連する問題