在下面的图中,我想用delta代替“d”,在末尾包含一个per mil符号,并在中使用上标:d13C、d15N和d34S。我用双标图(例如,plot + ylab(expression(paste(delta^{15}, "N (\u2030)")))
)。然而,在所附的图中,我使用了facet_grid,这可能会改变获取它的方式。下面是使用的脚本:
group.violin<-ggplot(group.data, aes(x=Culture2, group = Culture2, y=value)) +
stat_summary(aes(x = Culture2, y = value, color= Species, group = Species), fun = "mean",
geom = "line", lwd = 2, alpha = 0.5)+
stat_summary(geom="point")+
geom_violin(aes(x = Culture2, y = value, fill = Species), alpha = 0.4, color = NA)+
geom_point(aes(x = Culture2, y = value, fill = Species), size = 3, color = "black", pch = 21,
position = position_jitter(width = 0.05, seed = 12))+
facet_grid(variable ~ Species, scales = "free_y") +
xlab("")+
ylab("")+
theme_classic()+
theme(strip.background = element_rect(colour = "black", fill = "grey85", size = 0.1),
panel.border=element_rect(colour="black",size = 0.1, fill = NA),
panel.spacing = unit(0.3, "lines"),
axis.text.y = element_text(size = 12, colour = "black"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
legend.position = "bottom",
legend.text=element_text(size=12, face="italic"),
legend.title=element_text(size=12,face="bold"),
strip.text.x=element_text(size=12,face="bold.italic"),
strip.text.y=element_text(size=12,face="bold"))
谢谢
1条答案
按热度按时间fumotvh31#
我们可以使用
sub
将您的variable
更改为您期望的标签,然后将labeller=label_parsed
添加到facet_grid
的调用中。使用我的示例数据(如下),原始绘图代码:
不幸的是,这会将粗体/斜体格式的
theme
d放到facet标签中,所以我们需要更清楚地说明这些。此外,在小平面条中使用粗斜体,而在另一个小平面条中仅使用斜体会带来一个小问题......但我将使用类似plotmath
的"bolditalic(..)"
表达式(字符串)来处理所有内容,然后删除字符串中的bold
部分,只保留图例。对于这一步,我们也将转换
Species
,然后使用scales::label_parse
作为labels=
参数添加scale_colour_discrete
和_fill_
hack。样本数据: