0

Vincent ビジュアライゼーションで使用したい pandas データフレームがあります。データを視覚化できますが、X 軸は日付として表示する必要があり、代わりに日付には 500、1000、1500 などの整数インデックスが与えられます。

データフレームは次のようになります。

    weight      date
0   125.200000  2013-11-18

簡潔にするために切り詰められています。

ipython ノートブックの私の vincent コード:

chart = vincent.Line(df[['weight']])
chart.legend(title='weight')
chart.axis_titles(x='Date', y='Weight')
chart.display()

X 軸ラベルが上記のデータフレームの日付、つまり 2013-11-18 のようになるような日付がデータフレームに含まれていることを vincent に伝えるにはどうすればよいですか?

4

1 に答える 1

0

わかりました、これが私がしたことです。私は以前、matplotlib でこの問題に遭遇しましたが、それについてのブログ投稿 ( http://codrspace.com/szeitlin/biking-data-from-xml-to-plots-part-2/ ) を書いたほど苦痛でした。Vincent はまったく同じではありませんが、基本的には 4 つの手順を実行する必要があります。

  1. まだ行っていない場合は、日付を日時オブジェクトに変換します

df['date_objs'] = df['date'].apply(pandas.to_datetime)

  1. datetime オブジェクトを任意の形式に変換します。
  2. 日時オブジェクトをインデックスにします

    df.index = df.index.values.astype('M8[D]')

  3. データ (体重) を y 軸としてプロットすることを vincent に伝えます。データフレームのインデックスを x 軸として自動的に使用します。

    chart = vincent.Line(plot[['weight']]) 
    chart.axis_titles(x='dates', y='weight') 
    chart.display()
    
于 2015-03-26T22:26:05.293 に答える