如何让文森特正确显示 pandas date/time 轴?
How to get vincent to display a pandas date/time axis correctly?
我有一个 pandas 数据框,我想在 vincent 可视化中使用它。我可以可视化数据,但是,X 轴应该显示为日期,而日期只是给出了 500、1000、1500 等整数索引。
数据框如下所示:
weight date
0 125.200000 2013-11-18
为简洁起见被截断了。
我的 ipython 笔记本中的文森特代码:
chart = vincent.Line(df[['weight']])
chart.legend(title='weight')
chart.axis_titles(x='Date', y='Weight')
chart.display()
我如何告诉文森特我的数据框包含的日期使得 X 轴标签就像上面数据框的日期一样,即 2013 年 11 月 18 日?
好的,这就是我所做的。我 运行 在使用 matplotlib 之前就遇到过这个问题,并且写了一篇关于它的博客 post (http://codrspace.com/szeitlin/biking-data-from-xml-to-plots-part-2/) 是非常痛苦的。文森特不完全一样,但本质上你必须做4个步骤:
- 如果您还没有将日期转换为日期时间对象
df['date_objs'] = df['date'].apply(pandas.to_datetime)
- 将您的日期时间对象转换为您想要的任何格式。
将您的日期时间对象放入索引
df.index = df.index.values.astype('M8[D]')
告诉文森特你想绘制你的数据(重量)作为 y 轴。它会自动使用数据框的索引作为 x 轴。
chart = vincent.Line(plot[['weight']])
chart.axis_titles(x='dates', y='weight')
chart.display()
我有一个 pandas 数据框,我想在 vincent 可视化中使用它。我可以可视化数据,但是,X 轴应该显示为日期,而日期只是给出了 500、1000、1500 等整数索引。
数据框如下所示:
weight date
0 125.200000 2013-11-18
为简洁起见被截断了。
我的 ipython 笔记本中的文森特代码:
chart = vincent.Line(df[['weight']])
chart.legend(title='weight')
chart.axis_titles(x='Date', y='Weight')
chart.display()
我如何告诉文森特我的数据框包含的日期使得 X 轴标签就像上面数据框的日期一样,即 2013 年 11 月 18 日?
好的,这就是我所做的。我 运行 在使用 matplotlib 之前就遇到过这个问题,并且写了一篇关于它的博客 post (http://codrspace.com/szeitlin/biking-data-from-xml-to-plots-part-2/) 是非常痛苦的。文森特不完全一样,但本质上你必须做4个步骤:
- 如果您还没有将日期转换为日期时间对象
df['date_objs'] = df['date'].apply(pandas.to_datetime)
- 将您的日期时间对象转换为您想要的任何格式。
将您的日期时间对象放入索引
df.index = df.index.values.astype('M8[D]')
告诉文森特你想绘制你的数据(重量)作为 y 轴。它会自动使用数据框的索引作为 x 轴。
chart = vincent.Line(plot[['weight']]) chart.axis_titles(x='dates', y='weight') chart.display()