R 如何在ggplot中指定条与x轴边缘之间的距离

R 如何在ggplot中指定条与x轴边缘之间的距离,r,ggplot2,R,Ggplot2,我想知道如何指定条形图的第一个条带x轴最左边的边和最后一个条带x轴最右边的边之间的距离。我注意到,由于某种原因,根据绘制的变量数量,距离会发生变化以适应它们。这通常是很好的,但对于出版目的来说并不理想 这里有两个图,其中变量的数量相同,但是,由于点的抖动,一个比另一个更靠近x轴的边缘 如果我理解正确,那么scale\u x\u discrete中的expand参数就是您所需要的。您可以在此处了解更多信息: “长度为2的数值向量,给出乘法和加法展开常数。这些常数确保数据放置在离轴一定距离的位置。

我想知道如何指定条形图的第一个条带x轴最左边的边和最后一个条带x轴最右边的边之间的距离。我注意到,由于某种原因,根据绘制的变量数量,距离会发生变化以适应它们。这通常是很好的,但对于出版目的来说并不理想

这里有两个图,其中变量的数量相同,但是,由于点的抖动,一个比另一个更靠近x轴的边缘


如果我理解正确,那么
scale\u x\u discrete
中的
expand
参数就是您所需要的。您可以在此处了解更多信息:

“长度为2的数值向量,给出乘法和加法展开常数。这些常数确保数据放置在离轴一定距离的位置。”

它以
expand=c(乘法值、加法值)
的格式使用,下面提供了一个示例:

df <- data.frame(
  X = c("v1", "v2", "v3", "v4"),
  Y = c(10, 2, 50, 20)
)

# Load Packages
library(ggplot2)
library(gridExtra)

# Build standard plot
plot1 <- ggplot(df, aes(X, Y, fill = X)) +
  geom_bar(stat = "identity") +
  labs(title = "Standard Plot")

# Add expand argument
plot2 <- plot1 + scale_x_discrete(expand = c(0, 1)) +
  labs(title = "Expanded")

# Compare
grid.arrange(plot1, plot2)

df如果我理解正确,那么
scale\u x\u discrete
中的
expand
参数就是您需要的。您可以在此处了解更多信息:

“长度为2的数值向量,给出乘法和加法展开常数。这些常数确保数据放置在离轴一定距离的位置。”

它以
expand=c(乘法值、加法值)
的格式使用,下面提供了一个示例:

df <- data.frame(
  X = c("v1", "v2", "v3", "v4"),
  Y = c(10, 2, 50, 20)
)

# Load Packages
library(ggplot2)
library(gridExtra)

# Build standard plot
plot1 <- ggplot(df, aes(X, Y, fill = X)) +
  geom_bar(stat = "identity") +
  labs(title = "Standard Plot")

# Add expand argument
plot2 <- plot1 + scale_x_discrete(expand = c(0, 1)) +
  labs(title = "Expanded")

# Compare
grid.arrange(plot1, plot2)

df可复制示例和代码?可复制示例和代码?