仅绘制y轴,而不绘制其他内容

4
我希望创建一个仅显示y轴(包括网格、数字和标签)的图表,但我不想显示图表或x轴。这个能实现吗?
3个回答

9

创建图表时,您只需要指定几个选项。特别是要注意axestypexlab

plot(runif(10), runif(10), 
     xlim=c(0, 1), ylim=c(0,1), 
     axes=FALSE, #Don't plot the axis 
     type="n",  #hide the points
     ylab="", xlab="") #No axis labels

您可以手动添加y轴:
axis(2, seq(0, 1, 0.2))

如果您需要,可以添加一个网格

grid(lwd=2)

2
您可以使用geom_blank()和主题调整来关闭不需要的元素:
p <- ggplot(mtcars, aes(disp, mpg)) + geom_blank()

p + theme(axis.line.x=element_blank(),
          axis.text.x=element_blank(),
          axis.ticks.x=element_blank(),
          axis.title.x=element_blank(),
          panel.grid.minor.x=element_blank(),
          panel.grid.major.x=element_blank())

或者,如果您已经有一个图形,您可以使用gtable来提取轴部分:

library(gtable)
g <- ggplotGrob(p)
s <- gtable_filter(g, 'axis-l|ylab', trim=F)  # use trim depending on need
grid.newpage()
grid.draw(s)

1
您可以简单地使用plot.new()
plot.new()
axis(2, seq(0, 1, 0.2))
grid(led = 2)
# etc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接