在ggplot2中去除负数y轴区域

7

我该如何在ggplot2中删除x轴和y轴下方的绘图区域(见下面的示例)。我尝试了几个主题元素(panel.border,panel.margin,plot.margin),但都没有成功。

p <- ggplot(mtcars, aes(x = wt, y = mpg,xmin=0,ymin=0)) + geom_point()

enter image description here


你是不是在寻找类似于这个的东西? - A5C1D2H2I1M1N2O1R2T1
1个回答

9

使用连续比例美学中的expand参数...

p <- ggplot(mtcars, aes(x = wt, y = mpg,xmin=0,ymin=0)) +
geom_point()+
scale_x_continuous( expand = c(0,0) , limits = c(0,6) )+
scale_y_continuous( expand = c(0,0), limits = c(0,35) )

设置限制以避免截断极端值。 enter image description here

但是,如果您想在整个图周围没有边距,则需要使用theme元素plot.margin,如下所示(请注意,在下面的图中,极右侧被截断为零)。

require(grid) # for unit
p + theme( plot.margin = unit( c(0,0,0,0) , "in" ) )

enter image description here


2
@Simon0101,如果这是答案,那么我将投票关闭该问题,作为此处的重复问题,特别是因为另一个问题比“删除负绘图区域”更明确...不过我还在等待OP澄清... - A5C1D2H2I1M1N2O1R2T1
嗯...也许还是保留这个条目吧,因为现在它比现有的条目更具信息性。 - Elizabeth
我同意,如果这是你想要的,因为后者在链接的问题中没有得到回答。也许你应该撤回自己的关闭投票! :-) 干杯! - Simon O'Hanlon

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