我正在尝试使用两个单独的传说来格式化一个情节。我有一个形状图例,用于我所有不同的分类,以及它们所属类别的颜色图例。我想仅将形状图例中的分类名称斜体化,而不是斜体颜色图例中的类别名称。到目前为止,我可以使用这一行将所有图例条目设为斜体:
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中是否可行?
提前致谢!
答案 0 :(得分:3)
您可以在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")))
*此方法也适用于scale_shape_manual
,guide
也有?scale_shape
参数。请参阅?scale_shape_manual
和angle
。
出于某种原因,我需要在element_text
中指定size
,否则会出错。您可能还需要设置 ggplot(data = PlotModel1, aes(x = Lon, y = Lat)) +
geom_point(aes(color = Conc), shape = "") +
stat_density2d(aes(fill = ..level..), n = 100, geom="polygon", contour = TRUE)+
guides(fill = FALSE) +
theme_bw()+
xlim(-150, -50)+
ylim(30, 45)+
coord_cartesian(xlim=c(-110, -80),ylim=c(33, 41))
。