如何使用时间序列数据在ggplot中绘制区域图?

时间:2016-03-29 15:50:51

标签: python pandas ggplot2

我正在尝试发布像this这样的图表。

我的数据集看起来像这样。它有两列。第一个是日期,第二个是总数:

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>

1 个答案:

答案 0 :(得分:1)

这里有几个问题。第一个aesgeom_area等是ggplot模块的类。因此,与引用的帖子一样,它们通过from ggplot import *而不是import ggplot导入。我建议更容易调试和维护代码的是from ggplot import ggplot, aes, geom_area

然后您的代码存在一些问题。我认为您需要指定日期是日期时间类型的数据。你可以通过添加一行df['date'] = pd.to_datetime(df['date'])来做到这一点。

然后,您还需要指定绘图的y轴(面积图的ymin和ymax)。这可以通过以下方式完成:ggplot(df, aes(x='date', ymin='0', ymax='volume')) + geom_area()。希望这会有所帮助。