我有一个长表作为数据框:
date group value
02-01 A1 0.1
02-01 A1 0.05
02-02 A1 0.02
....
02-01 A2 -0.1
02-01 A2 0.02
...
02-01 A25 0.01
...
如您所见,共有25
个组,每个组都有许多零值。现在我有三个要求绘制一个多图(每组一个),其值为x轴,日期为y轴:
绘制图表时会过滤零值。
这些点按时间顺序显示,但从不在同一垂直线上,即使它们在同一天。
点的距离(平行)相等。避免某些点非常接近而其他点不接近的情况。
我尝试过这种方法:
ggplot(df%>%filter(value != 0.0), aes(x= row.names(df%>%filter(value != 0.0)),y = value)) + geom_line() +facet_wrap(~group)
但得到geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
警告和空图表。你能帮我解决这个问题吗?谢谢!
编辑:
现在我已经过滤了零值,并在日期框架内添加了一个索引以使其连续:
date group value index
02-01 A1 0.1 1
02-01 A1 0.0 2
02-02 A1 0.0 3
....
02-01 A2 -0.1 1
02-02 A2 0.0 2
...
02-01 A25 0.0 1
...
然后我尝试了:
ggplot(df_filter, aes(x= index,y = value, color = date)) + geom_point() +facet_wrap(~group)
然而,我得到的是:
很难看到value
在不同group
中的趋势。如何调整不同情节的x-axis
范围以清楚地显示?
此外,为什么颜色全部为灰色,而我将其设置为date
,因此假设同一天的点应该具有相同的颜色。
感谢。
答案 0 :(得分:0)
颜色的解决方案:
ggplot(df_filter, aes(x= index,y = value, color = as.character(date)) + geom_point() +facet_wrap(~group)