繁体   English   中英

增加图中点之间的距离

[英]increasing distance between points in plot

我有一个与此问题有关的问题

我在ggplot2中绘制了数据,但我想在点之间以及组之间留出更多空间。 我正在绘制ESM数据,历时17天,我想在该图中显示一个人在对其情感进行评估的一天中的情感变化。

因此,我只想绘制点(无线),我想在点之间留一些空间,以便可以看到首先输入的点,并且我希望在两天之间有更多的空间(x变量),以便可以看到哪个点数属于哪一天。

示例数据:

beep <- c(74.50, 77.50, 89.50, 75.25, 58.25, 81.25, 88.75, 89.25, 74.25, 71.00)
days <- c(1, 1, 1, 2, 2, 3, 3, 4, 4, 4)
df <- as.data.frame(cbind(days, beep))
ggplot(df, aes(days, beep)) + geom_point()

在此MWE中,ggplot将数据点堆叠在一条垂直线上,而我想查看在特定的一天中哪个数据点最先出现(我希望我能清楚地解释一下)。

如果您更准确地知道观测的“时间间隔”,则可以将其直接添加到天向量中。 例如,如果测量全天均匀分布,则可以设置

days <- c(1, 1+1/3, 1+2/3, 2, 2+1/2, 3, 3+1/2, 4, 4+1/3, 4+2/3)

您可以轻松地自动从原始矢量制作此矢量的过程。 但是,如果您没有此信息,而只知道观测的顺序和日期,为什么不让X轴传达顺序并找到另一种可视化日期变化的方法。 例如使用背景色。

beep <- c(74.50, 77.50, 89.50, 75.25, 58.25, 81.25, 88.75, 89.25, 74.25, 71.00)
days <- c(1, 1, 1, 2, 2, 3, 3, 4, 4, 4)
order <- c(1:10)
df <- as.data.frame(cbind(days, beep,order))
ggplot(df, aes(order, beep,xmin=order-0.5,xmax=order+0.5,ymin=-Inf,ymax=Inf, fill=as.factor(days%%2))) + 
  geom_rect(aes(alpha=0.2))  +
  geom_point() +theme_bw() +
  scale_x_continuous(breaks=1:10) + guides(alpha=F,fill=F)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM