当我编译下面的MWE时,我发现最大点(3,5)被边缘显着切割/裁剪。
为简单起见,以下示例大幅减少。
在我的实际数据中,如果相应的x轴美学在max x值上,则手动限制我的coord_cartesian
会影响以下各项。
MWE
library(ggplot2)
library("grid")
print("Program started")
n = c(0.1,2, 3, 5)
s = c(0,1, 2, 3)
df = data.frame(n, s)
gg <- ggplot(df, aes(x=s, y=n))
gg <- gg + geom_point(position=position_dodge(width=NULL), size = 1.5)
gg <- gg + geom_line(position=position_dodge(width=NULL))
gg <- gg + coord_cartesian( ylim = c(0, 5), xlim = c((-0.05)*3, 3));
print(gg)
print("Program complete - a graph should be visible.")
为了正确显示我的数据,我会考虑使用以下任何一种可能的(受到观察到x轴标签本身永远不会被切割的影响):
xlim = c((-0.05)*3, (3*0.05))
扩展轴范围,但实施一些黑客攻击,以便在最大点3之后不显示悬垂轴条?
答案 0 :(得分:1)
这是你选择1的意思:
gg <- ggplot(df, aes(x=s, y=n)) +
geom_point(position=position_dodge(width=NULL), size = 3) +
geom_line(position=position_dodge(width=NULL)) +
coord_cartesian(xlim=c(0,3), ylim=c(0,5))
# Turn of clipping, so that point at (3,5) is not clipped by the panel grob
gg1 <- ggplot_gtable(ggplot_build(gg))
gg1$layout$clip[gg1$layout$name=="panel"] <- "off"
grid.draw(gg1)