【发布时间】:2019-11-25 15:42:20
【问题描述】:
我目前正在使用 R 中的 ggpubr 包(基于 ggplot2)绘制数据。当我绘制包括标准误差在内的两个条件的平均值时,y 轴应限制在 1 到 7 之间,我表示使用:
p <- ggline(data, x = "condition", y = "measure",
add = c("mean_se"),
ylab = "Measure")
ggpar(y, ylim = c(1, 7), ticks=T, yticks.by = 1)
然而,在最终图中,y 轴仅显示 1 到 6 之间的值
我尝试使用本机 ggplot2 绘制相同的数据,但一旦我更改布局,问题仍然存在。 对于 ggplot2 我使用:
p <- ggplot(data, aes(x=condition, y=measure)) +
geom_line() +
geom_point()+
geom_errorbar(aes(ymin=measure-se, ymax=measure+se), width=.2, position=position_dodge(0.05)) +
ylab("measure") +
xlab("Condition")
p + scale_y_continuous(name="measure", limits=c(1, 7), breaks=c(1:7))
p + theme_classic()
如果有人能帮我解决这个问题,那就太好了。
编辑: 正如 cmets 中所建议的,这是我尝试使用 ggplot2 绘制的数据:
structure(list(condition = structure(3:4, .Label = c("IC", "SC",
"ILC", "SLC"), class = "factor"), measure = c(4.10233918128655, 3.83040935672515
), se = c(0.235026318386523, 0.216811675834834)), class = "data.frame", row.names = c(NA,
-2L))
【问题讨论】:
-
将
breaks=c(1:7)更改为breaks = seq(1,7, by = 1)应该可以工作 -
感谢您的回复,直到我将主题更改为经典,然后它再次停止在 6。
-
请在您的问题中包含一些数据,以便其他人可以重现您的问题。使用
dput(some_data)将数据变成易于阅读的格式。 -
@aaumai:that 应该如何工作?!唯一的区别是
seq返回一个数字,而不是整数向量,但这对于 ggpar 无关紧要。 -
实际上,除了将
theme_classic和scale_y_continuous同时添加到情节之外,您所做的一切都正确率为 99%。