这个问题不是关于控制轴限制(我认为),而是控制轴线本身的长度.我正在尝试制作一个ggplot(以便我可以利用其漂亮的刻面功能),这类似于手动添加轴的基本R图.这些轴仅延伸到最后一个轴标签.
我试图模仿的一些设置数据和基本R类型的图:
library("ggplot2")
library("cowplot")
library("grid")
set.seed(5)
x <- rnorm(10)
y <- rnorm(10)
D <- data.frame(x, y)
plot(x, y, axes = FALSE)
axis(1)
axis(2)
Run Code Online (Sandbox Code Playgroud)
ggplot(D, aes(x, y)) +
geom_point()
Run Code Online (Sandbox Code Playgroud)
从cowplot包中对ggplot的默认更改非常接近:
但是,我怎么能告诉ggplot只绘制直到最后一个轴标签的线,即使点位于该值之外(如在基础R图中)?
eip*_*i10 13
好吧,@ Gregor在我做这个的时候发表了他的评论,所以这是实施.仅出于说明的目的,带注释的轴以红色呈现,以显而易见它们与标准轴线分开添加.如果你打算做了一堆这样的情节,你也可以添加一些逻辑,以编程方式确定x和y的限制annotate和coord_cartesian.
my_theme = list(theme_bw(),
theme(panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank()),
labs(y="",x=""))
ggplot(D, aes(x,y)) +
geom_point() +
coord_cartesian(xlim=c(-1.4,1.4), ylim=c(-2.4,1.4)) +
my_theme +
annotate(x=-1.4, xend=-1.4, y=-2, yend=1, colour="red", lwd=0.75, geom="segment") +
annotate(x=-1, xend=1, y=-2.4, yend=-2.4, colour="red", lwd=0.75, geom="segment")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2168 次 |
| 最近记录: |