我已经使用ggplot2
很长时间了,但是从未遇到过这个问题。我代表一些回归的置信区间。但是,我决定手动控制ylim()
。我意识到那些超出y限制的区域被破坏了。看到这张图片:
右侧的红色回归包含非常宽的CL。如您所见,其中的最高点不在ylim范围内。
这是我使用的代码:
ggplot(dataset, aes(x=variable, y=value, fill=Species, colour=Species, linetype = Species)) +
geom_smooth(method="lm", formula= y~poly(x,3), level=0.95, alpha=0.2) +
xlab("A") +
ylab("B") +
ylim(0, 30) +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 10),
panel.background = element_blank(),
legend.position='bottom',
panel.grid.major = element_line(colour="azure2"),
axis.line = element_line(colour = "black",
size = 0.15, linetype = "solid")) +
scale_x_continuous(breaks=seq(1, 10, 1), limits=c(1, 10)) +
scale_color_manual(values=c("coral4", "coral1", "darkolivegreen3", "darkgoldenrod4", "darkgoldenrod2", "deepskyblue3", "darkorchid3")) +
scale_fill_manual(values=c("coral4", "coral1", "darkolivegreen3", "darkgoldenrod4", "darkgoldenrod2", "deepskyblue3", "darkorchid3")) +
scale_linetype_manual(values=c(1,1,1,3,3,2,2))
我想保留这些y限制。我使用coord_cartesian
失败。有人可以帮我吗?
答案 0 :(得分:1)
coord_cartesian
应该可以,但是您必须删除ylim()
一些数据
set.seed(1)
df <- data_frame(x = -5:5, y = rnorm(11, x^2, 5))
复制您的问题
ggplot(df, aes(x, y)) +
geom_smooth() +
ylim(-1, NA)
使用coord_cartesian
ggplot(df, aes(x, y)) +
geom_smooth() +
coord_cartesian(ylim = c(-1, 40))