如何在绘图中断开不从0开始的y轴?我想用ggplot无法完成。还有其他解决方案吗?
我的ggplot:
ggplot(allEvents %>% dplyr::filter(FixationID>1,FixationID<15), aes(FixationID, Fixation)) +
geom_line(stat="summary", fun.y=mean, position="identity") + theme_bw() + stat_summary(fun.data=mean_se)+
labs (x = "Ordinal fixation number", y = "Fixation duration (s)") +
scale_y_continuous (name="Fixation duration (s) ", limits=c(0.1, 0.4)) +
scale_x_continuous (name="Ordinal fixation number", breaks=c(5,10,15,20)) +
geom_smooth(method=lm)
摘录自我的数据:
structure(list(Fixation = c(0.383, 0.185, NA, 0.312, NA, 0.328,
NA, 0.259, NA, 0.335), FixationID = c(1, 2, NA, 3, NA, 4, NA,
5, NA, 6)), .Names = c("Fixation", "FixationID"), row.names = c(NA,
10L), class = "data.frame")
正如@teunbrand的评论所提到的那样,ggplot2
不允许出现轴断裂,这很难完成。
另外,您可以在base r
plot中绘制图形,并使用包中的axis.break
函数plotrix
。
(注意:我使用between
from函数dplyr
来选择您感兴趣的数据子集。df
在我的示例中将调用您的数据集)。
library(dplyr)
library(plotrix)
with(subset(df, between(FixationID,2,15)),
plot(x = FixationID, y = Fixation, type = "b", ylim = c(0.1,0.4), pch = 16))
with(subset(df, between(FixationID,2,15)),
abline(lm(Fixation~FixationID),col = "blue"))
axis.break(axis = 2, breakpos = 0.1, style="slash")
它能回答您的问题吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句