gpt4 book ai didi

r - 将ggplot中只有一个图例的标签斜体

转载 作者:行者123 更新时间:2023-12-04 19:28:30 32 4
gpt4 key购买 nike

我正在尝试格式化带有两个单独图例的图。我有一个形状图例,用于我所有不同的分类群,还有一个颜色图例,用于它们所属的类别。我只想将形状图例中的分类单元名称斜体,而不是将颜色图例中的类别名称斜体。到目前为止,我可以使用此行将所有图例条目设为斜体或不使用:

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中甚至可能吗?

提前致谢!

最佳答案

您可以专门为 shape 自定义标签图例,通过设置 element_text参数,包括字体,在 scale_shape_discrete *.

ggplot(df, aes(x, y)) +
geom_point(aes(shape = species, color = subfam), size = 4) +
labs(shape = "Species", color = "Subfamily") +
scale_shape_discrete(guide =
guide_legend(label.theme = element_text(angle = 0, face = "italic")))

enter image description here

*此方法也适用于 scale_shape_manual ,其中还有一个 guide争论。见 ?scale_shape?scale_shape_manual .

出于某种原因,我需要指定 angleelement_text ,否则报错。您可能还需要设置 size .

关于r - 将ggplot中只有一个图例的标签斜体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572288/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com