在 ggplot2 主题中包含 guide()
Include guide() in ggplot2 theme
我们的组织有一本非常严格的风格书,所以我的任务是创建一个 ggplot 主题,程序员可以使用它来确保他们的图表和图形尽可能接近“官方”风格。
其中一个要求是图表的图例位于图表下方,但垂直堆叠,如下所示:
我一直在通过以下方式生成这样的图形:
pie_theme <- theme(
text = element_text(family = "Arial", face = "bold", size = 7, color = "black"),
plot.caption = element_text(hjust = 0, size = 6),
legend.position = "bottom",
etc.
)
p1 <- ggplot(bla bla bla)+geom_bar(bla bla bla)+coord_polar(bla bla bla)
p1+ guides(fill=guide_legend(ncol=1)) +
pie_theme
理想情况下,我想将 guides() 命令集成到主题中,这样程序员就不必在每次输出图表时都添加 guides() 并且图例会自动垂直堆叠。但是我没有看到可以做到这一点的 theme() 属性。有什么建议吗?
谢谢!
ggplot 对象和列表的 +
操作使得列表的每个元素都单独添加到绘图中。为此,您可以将主题和指南包装在一个列表中,然后您可以像添加常规主题一样添加它。
提醒一句,如果您将连续变量映射到指南,它将尝试选择 guide_legend()
而不是 guide_colorbar()
,如果您在这样。
library(ggplot2)
pie_theme <- list(
theme(
text = element_text(face = "bold", size = 7, color = "black"),
plot.caption = element_text(hjust = 0, size = 6),
legend.position = "bottom"
),
guides(fill = guide_legend(ncol = 1))
)
ggplot(mtcars, aes(x = factor(1), fill = factor(cyl))) +
geom_bar(width = 1) +
coord_polar(theta = "y") +
pie_theme
由 reprex package (v0.3.0)
于 2020-12-23 创建
我们的组织有一本非常严格的风格书,所以我的任务是创建一个 ggplot 主题,程序员可以使用它来确保他们的图表和图形尽可能接近“官方”风格。
其中一个要求是图表的图例位于图表下方,但垂直堆叠,如下所示:
我一直在通过以下方式生成这样的图形:
pie_theme <- theme(
text = element_text(family = "Arial", face = "bold", size = 7, color = "black"),
plot.caption = element_text(hjust = 0, size = 6),
legend.position = "bottom",
etc.
)
p1 <- ggplot(bla bla bla)+geom_bar(bla bla bla)+coord_polar(bla bla bla)
p1+ guides(fill=guide_legend(ncol=1)) +
pie_theme
理想情况下,我想将 guides() 命令集成到主题中,这样程序员就不必在每次输出图表时都添加 guides() 并且图例会自动垂直堆叠。但是我没有看到可以做到这一点的 theme() 属性。有什么建议吗?
谢谢!
ggplot 对象和列表的 +
操作使得列表的每个元素都单独添加到绘图中。为此,您可以将主题和指南包装在一个列表中,然后您可以像添加常规主题一样添加它。
提醒一句,如果您将连续变量映射到指南,它将尝试选择 guide_legend()
而不是 guide_colorbar()
,如果您在这样。
library(ggplot2)
pie_theme <- list(
theme(
text = element_text(face = "bold", size = 7, color = "black"),
plot.caption = element_text(hjust = 0, size = 6),
legend.position = "bottom"
),
guides(fill = guide_legend(ncol = 1))
)
ggplot(mtcars, aes(x = factor(1), fill = factor(cyl))) +
geom_bar(width = 1) +
coord_polar(theta = "y") +
pie_theme
由 reprex package (v0.3.0)
于 2020-12-23 创建