我创建了一个脚本来在一个对象中创建多个图 . 我正在寻找的结果是两个图,一个在另一个上,每个图具有不同的y轴刻度,但x轴是固定的 - 日期 . 但是,只有一个图(顶部)被正确创建,底部图是可见的但是空的,即 geom_line
不可见 . 此外,第二个图的y轴与值的范围不匹配 - 最小值到最大值 . 我也尝试使用 facet_grid (scales="free")
但y轴没有变化 . 第二图的y轴的范围为0至0.05 .
我将日期范围限制在过去几周 . 这是我正在使用的代码:
df = df.set_index('date')
weekly = df.resample('w-mon',label='left',closed='left').sum()
data = weekly[-4:].reset_index()
data= pd.melt(data, id_vars=['date'])
pplot = ggplot(aes(x="date", y="value", color="variable", group="variable"), data)
#geom_line()
scale_x_date(labels = date_format('%d.%m'),
limits=(data.date.min() - dt.timedelta(2),
data.date.max() + dt.timedelta(2)))
#facet_grid("variable", scales="free_y")
theme_bw()
数据框样本(df),它的每日数据集包含每个变量x和a的值,在本例中为'date'是索引:
date x a
2016-08-01 100 20
2016-08-02 50 0
2016-08-03 24 18
2016-08-04 0 10
数据框样本(to_plot) - 每周概述:
date variable value
0 2016-08-01 x 200
1 2016-08-08 x 211
2 2016-08-15 x 104
3 2016-08-22 x 332
4 2016-08-01 a 8
5 2016-08-08 a 15
6 2016-08-15 a 22
7 2016-08-22 a 6
很抱歉之前没有添加df数据帧 .
1 回答
您对剧情指令
geom_line()
,scale_x_date()
等的调用在您的剧本中独立存在;你没有将它们连接到你的绘图对象 . 因此,它们对你的情节没有任何影响 .为了将绘图指令应用于现有绘图对象,请使用图形语言,并通过将它们与
+
运算符连接,将它们用于绘图对象 .结果(按预期):
完整的脚本: