使用facet_grid有条件地更改面板背景吗?

我正在使用ggplot2中的“提示”数据集。如果我做


sp = ggplot(tips,aes(x=total_bill, y = tip/total_bill)) + 

        geom_point(shape=1) + 

        facet_grid(sex ~ day)

情节很好。但是我现在只想更改“ Fri”下图的面板背景。有没有办法做到这一点?


更好的是,我可以通过传递参数有条件地更改颜色吗?例如,如果有3个点低于0.1,那么将面板背景(仅用于该面板)更改为某种颜色,而其他所有背景都保留默认的浅灰色?


至尊宝的传说
浏览 725回答 3
3回答

白猪掌柜的

我还不能发表评论..因此,这是乔兰回答问题的另一个答案。如果您在透明度设置方面遇到麻烦,例如将alpha设置为0.2却没有注意到任何差异,则可能是由于您将数据提供给ggplot所致。“感谢您澄清您的问题。这让我感到困惑,所以我去了google,并最终学习了一些新知识(在解决了示例中的一些变化之后)。显然,您正在做的是在彼此之上绘制多个矩形,有效地消除了您想要的半透明性。因此,解决此问题的唯一方法是将矩形坐标硬编码到单独的df中”

小怪兽爱吃肉

请注意,设置panel.background和上面的geom_rect在geom_raster后面时,行为会有所不同,因为当栅格后面没有任何内容时,可以进行优化。当另存为pdf时,geom_rect版本是一个很大的文件,对于大多数pdf查看器来说实际上是无法打开的!
打开App,查看更多内容
随时随地看视频慕课网APP