我喜欢x轴上的无限值表示为图形边缘上的半点的方式; 毕竟,什么可能在-Inf的左边?
不幸的是,我的任务是在x轴上绘制无限值作为全点,远离边缘并使用相应的刻度线.
知道如何控制这些点吗?
要绘制的数据示例:
v <- c(-Inf, -5:5, Inf)
X <- data.frame(x = v, y= plogis(v))
ggplot(X) + geom_point(aes(x=x, y=y))
Run Code Online (Sandbox Code Playgroud)
为了重新迭代,我需要两个极端点远离边缘并带有相应的刻度线.
谢谢
这是一个非常简单的解决方法,我们将-Inf和Inf设置为实数,然后使用Inf和-Inf重新标记x轴:
X$x[!is.finite(X$x)]<-sign(X$x[!is.finite(X$x)])*(abs(max(v[is.finite(v)]))+1)
ggplot(X) + geom_point(aes(x=x, y=y)) + scale_x_continuous(breaks=X$x, labels = v)
Run Code Online (Sandbox Code Playgroud)