A5C*_*2T1 171
xlim
并且ylim
不要在这里削减它.您需要使用expand_limits
,scale_x_continuous
和scale_y_continuous
.尝试:
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
Run Code Online (Sandbox Code Playgroud)
p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))
Run Code Online (Sandbox Code Playgroud)
您可能需要稍微调整一下以确保点不会被切断(例如,请参阅x = 5
和中的点y = 5
.
use*_*745 16
只需将这些添加到您的 ggplot 中:
+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
Run Code Online (Sandbox Code Playgroud)
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
Run Code Online (Sandbox Code Playgroud)
最后,请务必小心,不要无意中将数据排除在图表之外。例如,aposition = 'dodge'
可能会导致条形完全脱离图表(例如,如果它的值为零并且您从零开始轴),因此您可能看不到它,甚至可能不知道它在那里。我建议首先完整地绘制数据,进行检查,然后使用上述提示来提高绘图的美观性。
在最新版本的 ggplot2 中,这可以更容易。
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()
p+ geom_point() + scale_x_continuous(expand = expansion(mult = c(0, 0))) + scale_y_continuous(expand = expansion(mult = c(0, 0)))
Run Code Online (Sandbox Code Playgroud)
请参阅?expansion()
了解更多详情。
另一种选择是使用coord_cartesian
with expand = FALSE
。这些限制取自数据或基于您的限制。这是一个可重现的示例:
df <- data.frame(x = 1:5, y = 1:5)
library(ggplot2)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p + coord_cartesian(expand = FALSE)
Run Code Online (Sandbox Code Playgroud)
创建于 2022 年 11 月 26 日,使用reprex v2.0.2
您还可以直接指定限制,coord_cartesian
如下所示:
df <- data.frame(x = 1:5, y = 1:5)
library(ggplot2)
p <- ggplot(df, aes(x, y)) + geom_point()
p + coord_cartesian(expand = FALSE, xlim = c(0, NA), ylim = c(0, NA))
Run Code Online (Sandbox Code Playgroud)
创建于 2022 年 11 月 26 日,使用reprex v2.0.2
归档时间: |
|
查看次数: |
93871 次 |
最近记录: |