我想对一张图表进行格式化,使其拥有两个独立的侧边图例。我有一个形状图例,用于显示不同分类群的形状,还有一个颜色图例,用于显示它们所属的类别。我想要在形状图例中仅给分类群名称设置斜体,而不给颜色图例中的类别名称设置斜体。到目前为止,我可以使用以下代码来控制图例中所有条目的字体是否为斜体:
plot + theme(legend.text = element_text(face = "italic"))
但是我不知道如何仅指定形状图例。 我认为
theme()
不适合,因为它会更改整个图的主题。 我还查看了 guides()
,但似乎没有选项可以指定图例标签的字体。一些示例数据和绘图:
species <- c("M. mulatta", "P. ursinus", "C. mitis", "C. guereza")
subfam <- c("Cercopithecine", "Cercopithecine", "Cercopithecine", "Colobine")
x <- rnorm(4, 1:10)
y <- rnorm(4, 2:20)
df <- data.frame(cbind(species, subfam, x, y))
ggplot(df, aes(x, y)) + geom_point(aes(shape = species, color = subfam), size = 4) +
labs(shape = "Species", color = "Subfamily")
总之,我想把物种名称变成斜体字,但不需要将亚科名称变成斜体字。这似乎很简单...在ggplot中是否可能实现呢?
提前感谢!
library(tidyverse); df %>% rename(Species = species, Subfamily = subfam) %>% ggplot(aes(x, y)) + geom_point(aes(color = Species)) + facet_wrap(~Subfamily) + theme(legend.text = element_text(face = "italic"))
。 - neilfws