网格线和背景的颜色

6

看起来这个问题最初出现在2007年左右。

问题是:

如何在R中使用ggplot2绘图时更改网格线和背景颜色? 我添加了两张图片作为背景和网格线颜色的示例。

早在2007年,Hadley Wickham就说过缺少外观功能(包括更改背景颜色)。 有人知道是否有更新允许更改背景颜色和网格线的颜色吗?

提前致谢

before enter image description here


3
theme_bw() 可能会将你想要的许多东西捆绑在一起... - Chase
2个回答

9

注意: 自0.9.2版本起,这是通过使用theme来完成的:参考链接

theme(panel.background = element_rect(colour = "white"))

此外,还有panel.grid.majorpanel.grid.minor选项。请参见这里以获取完整的选项列表和一些示例。此外,在?theme中也有文档。
在旧版本的 ggplot2 中,可以通过以下方式完成:
opts(panel.background=theme_rect(colour="white"),...)

您还可以使用theme_bw()切换到更传统的主题。

您还可以在 SO线程上找到有关主题和opts()的信息。


这会改变背景边框的颜色,而不是网格线。要更改背景,请使用 panel.background = element_rect(fill = "white")。要更改网格线,请使用 panel.grid.major = element_line(color = "green") - kraggle
@user2863275 我的回答提到了 panel.grid.majorpanel.grid.minor 两者...? - joran

4

我发现一个有点隐蔽但很有用的选项,可以帮助你确定这些东西的“位置”和名称:

theme_get()

这会向您展示所有主题选项的调用和定义。此外,如果您将要处理主题,您应该记住可以将多个调用保存为列表对象...例如:

plotoptions <- list(opts(x,y,z),scale_fill_manual(...),labs(x,y,z))
someplot + plotoptions

当我需要将主题定制成公司风格或类似的东西时,我经常使用这个功能。


令人沮丧的是,当您搜索??主题时,它不会出现在列表中。 - Brandon Bertelsen

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