R 我可以在一个轴上对不同的类别进行对齐和斜体化吗?

R 我可以在一个轴上对不同的类别进行对齐和斜体化吗?,r,ggplot2,R,Ggplot2,我有一个轴,其中一个类别应该是斜体,第二个类别太长,不能放在一行上。当我使用expression将Hemiaulus斜体化时,两行类别切换到左对齐。我如何将长类别同时斜体化并向右对齐 library(ggplot2) df <- data.frame(Parameter = c("Hemiaulus", "Normal", "A long label on two\nlines"), Es

我有一个轴,其中一个类别应该是斜体,第二个类别太长,不能放在一行上。当我使用
expression
将Hemiaulus斜体化时,两行类别切换到左对齐。我如何将长类别同时斜体化并向右对齐

library(ggplot2)

df <- data.frame(Parameter = c("Hemiaulus", "Normal", "A long label on two\nlines"), 
                   Estimate = c(-0.17, 2.41, 0.44))

p <- ggplot(df, aes(x = Estimate, y = Parameter))
# This has the correct justification:
P + geom_point
# This has the correct italicization:
p + geom_point() +    
    scale_y_discrete(labels = c("A long label on two\nlines", 
expression(italic(Hemiaulus)), "Normal"))
库(ggplot2)

df我认为表达式的默认行为在ggplot中有点不清楚,所以我认为这就是为什么在将一个标签斜体化时,对正会发生变化。一个选项是使用
ggtext
包,让您解释标记格式的文本

您可以通过在
*
中包装文本来获得斜体部分,并且必须将换行符
\n
替换为

库(ggplot2)
图书馆(ggtext)
#>警告:包“ggtext”是在R版本4.0.3下生成的

df做到了,谢谢你的帮助