如何在绘图上插入空格?geom_rect()的一个问题

如何在绘图上插入空格?geom_rect()的一个问题,r,ggplot2,R,Ggplot2,请在下面找到一个reprex 我制作了这个情节 如您所见,网格从0到-5连续。我希望将该区域完全留白,如图(在photoshop中生成): 我尝试过geom_rect(),但无法使其工作: 1) 为什么指定fill=“white”时矩形为粉红色?我需要它是白色的 2) 如何闭合从geom_rect()底部到x轴的间隙?我需要那个空间也是白色的(即没有网格的迹象) 解决方案 1) 几何校正(数据=df,映射=aes(xmin=0,xmax=3,ymin=-6, ymax=0),fill=“白

请在下面找到一个
reprex

我制作了这个情节

如您所见,网格从0到-5连续。我希望将该区域完全留白,如图(在photoshop中生成):

我尝试过geom_rect(),但无法使其工作:

1) 为什么指定fill=“white”时矩形为粉红色?我需要它是白色的

2) 如何闭合从geom_rect()底部到x轴的间隙?我需要那个空间也是白色的(即没有网格的迹象)

解决方案

1) 几何校正(数据=df,映射=aes(xmin=0,xmax=3,ymin=-6, ymax=0),fill=“白色”,alpha=1)

2) 我改为
scale\u y\u continuous(name=“X”,breaks=seq(0,35,5))+
坐标笛卡尔(ylim=c(-5,35))
而不是
连续缩放(name=“X”,
中断=顺序(0,35,5),限制=c(-5,35))

#我的脚本

df要使
geom_rect
为白色,必须在映射之外设置
fill
参数,如下所示:

geom_rect(data=df, mapping=aes(xmin=0, xmax=3, ymin=-5, ymax=0), fill = "white", alpha=1)
当您指定

geom_rect(mapping=aes([...], fill="white"), alpha=1)
您要求ggplot将变量“白色”映射到一种颜色,这是使用其默认调色板所做的。如果要为单个几何图形指定颜色,最简单的方法是在
aes

geom_rect(mapping=aes([...]), fill="white", alpha=1)
类似地,如果要指定

geom_rect(mapping=aes(alpha=1))

然后,ggplot2将尝试将此连续值映射到连续的alpha标度(
scale\u alpha\u continuous

我已经用这两个问题的解决方案更新了问题

请注意,
coord\u cartesian
将不会在绘图窗口外显示数据,并可能导致误导性绘图(例如,如果箱线图异常值超出了设置的限制)。感谢您指出这一点。还有其他解决方案吗?尝试
scale\u y\u continuous(name=“X”,breaks=seq(0,35,5),limits=c(-5,35),expand=c(0,0))
并删除
coord\u cartesian
geom_rect(mapping=aes(alpha=1))