首页 > 解决方案 > 在ggplot中添加空格/增加X和Y轴之间的空间

问题描述

我正在为一个需要特定外观的项目绘制一些图。他们需要在轴线和绘图面板之间留出一些空间。

library(ggplot2)

plot_data <- data.frame(X = 1:10, Y = 1:10)

ggplot() + geom_point(data = plot_data, aes(x = X, y = Y)) +
  theme(axis.line = element_line(colour = "black", linetype = "solid"))

我有的

我有的

我想在我的绘图的 X 轴和 Y 轴之间添加一些距离,但我的轴线也没有扩展,就像我使用 expand 命令时一样。

plot_data <- data.frame(X = 1:10, Y = 1:10)


ggplot() + geom_point(data = plot_data, aes(x = X, y = Y)) +
  theme(axis.line = element_line(colour = "black", linetype = "solid"))+
scale_x_continuous(name = "X", limits = c(1, 10),  expand = c(0.1,0)) +
  scale_y_continuous(name = "Y", limits = c(1, 10),  expand = c(0.1,0))

我可以做什么 我可以做什么

在 R 中是否有一种快速可靠的方法来做到这一点?

我想要的是 我想要的是

谢谢大家 !

标签: rggplot2themes

解决方案


您可以使用包实现对行的“封顶” lemon。您可以使用以下代码来实现此目的:

library(ggplot2)
library(lemon)

### your code
plot_data <- data.frame(X = 1:10, Y = 1:10)

p <- ggplot() + geom_point(data = plot_data, aes(x = X, y = Y)) +
  theme(axis.line = element_line(colour = "black", linetype = "solid"))+
  scale_x_continuous(name = "X", limits = c(1, 10),  expand = c(0.1,0)) +
  scale_y_continuous(name = "Y", limits = c(1, 10),  expand = c(0.1,0))

### using the lemon package
p + coord_capped_cart(bottom='right', left='none', gap = 0.15)

### mimic the view of your plot
p2 <- p + coord_capped_cart(bottom='right', left='none', gap = 0.15)
p2 + theme(panel.background = element_rect(fill = "white"))

这会产生以下图片:

在此处输入图像描述


推荐阅读