最後にマーカーで強調している折れ線グラフがあります(ここでは大きな赤いひし形で示されています)。
2 つの 2 つの pandas プロット コマンドを使用して作成しています。問題は、予期しない結果が得られることです。データの長さと、赤いひし形のプロットを最初に配置するか 2 番目に配置するかによって、異なる結果が得られます。私が識別できるパターンはないようです。以下に示す正しい/期待される結果
時々私は得る:
ほとんどの場合、大きなデータセットを使用すると、次の警告が表示されます。
/Users/xxxxx/.virtualenvs/test2/lib/python2.7/site-packages/matplotlib/axes.py:2542: UserWarning: 同一の left==right を設定しようとすると特異な変換が発生します。自動展開。左=15727, 右=15727 + '左=%s, 右=%s') % (左, 右))
警告は、最初に発生したときにのみ表示されます。明らかにパンダは、同じ軸上に異なる x スケールを持つ 2 つの異なるシリーズのプロットをサポートしていませんか?
以下のコードを試してグラフを生成したり、渡して遊んだり、プロットのシリーズまたはデータフレームを使用して、赤いひし形のプロットの順序を逆にすることもできます。データポイントの数を変更することもできます。ここで再現できなかったエラーの 1 つは、赤いひし形が中央にあり、青い線が左にしか移動していないことです。
コード:
plot_with_series = False
reverse_order = False
import pandas as pd
dates = pd.date_range('20101115', periods=800)
df = pd.DataFrame(randn(len(dates)), index = dates, columns = ['A'])
ds = pd.Series(randn(len(dates)), index = dates)
clf()
if plot_with_series:
if reverse_order: ds.plot()
ds.tail(1).plot(style='rD', markersize=20)
if not reverse_order: ds.plot()
else:
if reverse_order: df.plot(legend=False)
df.A.tail(1).plot(style='rD', markersize=20,legend=False)
if not reverse_order: df.plot(legend=False)
エラー/警告は、IPython 内から、またはコマンド ラインから as スクリプトを実行したときに発生します。pandas の 2 つの最新バージョンでも一定です。アイデアや明らかな問題はありますか?