我是一个全新的R用户,这个社区在我的学习过程中非常有帮助,谢谢!
我有一个ggplot图例标题,其中包含一个斜体字和一个上标,我试图以三条整齐的线条堆叠。斜体字和上标似乎占用了额外的空间,因此不能很好地叠加。理想情况下,我的头衔是:
上 Macrocystis 密度m ^ 2
每个单词都在自己的行上,但我遇到麻烦......
这是我的代码(对不起,这很难看,记得我是新手!)以及由此产生的情节:
ggplot(mtcars,aes(x=wt,y=mpg, color = hp))+
geom_jitter(size = 16) +
scale_color_continuous(high="black", low="light grey") +
theme_bw() +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=20),
legend.title=element_text(size=20),
legend.text=element_text(size =15),
legend.key = element_rect(size = 5),
legend.key.height=unit(3,"line"),
legend.key.size = unit(2.5, 'lines')) +
xlab("Weight") +
ylab("MPG") +
labs(color = expression(paste("Previous\n", italic("Macrocystis\n"),
"Density", " ", m^2), sep=" "))
感谢您的帮助,感谢您提供这么好的资源!
更新:感谢@baptiste让我更近一点,但它让我有点疯狂,我无法按正确的顺序得到这些话。这是我迄今为止最好的选秀:
ggplot(mtcars,aes(x=wt,y=mpg, color = hp))+
geom_jitter(size = 16) +
scale_color_continuous(high="black", low="light grey") +
theme_bw() +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=20),
legend.title=element_text(size=20),
legend.text=element_text(size =15),
legend.key = element_rect(size = 5),
legend.key.height=unit(3,"line"),
legend.key.size = unit(2.5, 'lines')) +
xlab("Weight") +
ylab("MPG") +
labs(color = expression(atop(italic("Macrocystis\n"),
paste("Previous\nDensity", " ", m^2), sep=" ")))
答案 0 :(得分:2)
这有点hacky,因为这并不是真的支持,但是如果你使用嵌套的atop()和scriptstyle()进行某些格式化:
ggplot(mtcars,aes(x=wt,y=mpg, color = hp))+
geom_jitter(size = 16) +
scale_color_continuous(high="black", low="light grey") +
theme_bw() +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=20),
legend.title=element_text(size=20),
legend.text=element_text(size =15),
legend.key = element_rect(size = 5),
legend.key.height=unit(3,"line"),
legend.key.size = unit(2.5, 'lines')) +
xlab("Weight") +
ylab("MPG") +
labs(color = expression(atop(scriptstyle("Previous"), atop(paste(italic(" Macrocystis")),
" Density m" ^2 ), sep=" ")))
答案 1 :(得分:0)