我想在 R ggplot2 中将轴文本(而不是标题)中的术语部分斜体化。
我有一些细菌物种名称,我应该用斜体写,此外我还有菌株名称,应该用纯文本。
这是我所拥有的示例:
我的数据框看起来像这样
MyDF <- data.frame(Activity=rep(c("Activity 1", "Activity 2"), each = 3),
Bacteria = c(sample(c("Escherichia coli Strain 1", "Escherichia coli Strain 2"), 3, TRUE, prob = c(0.3, 0.7)),
sample(c("Escherichia coli Strain 1", "Escherichia coli Strain 2"), 3, TRUE, prob = c(0.5, 0.5))))
MyDF
Activity Bacteria
1 Activity 1 Escherichia coli Strain 2
2 Activity 1 Escherichia coli Strain 2
3 Activity 1 Escherichia coli Strain 1
4 Activity 2 Escherichia coli Strain 1
5 Activity 2 Escherichia coli Strain 2
6 Activity 2 Escherichia coli Strain 1
用于生成绘图的代码是:
MyPlot <- ggplot(data = MyDF, mapping = aes(x =Activity , y =Bacteria )) +
xlab(label = "Activities") +
ylab(label = "Strains") +
theme(axis.text.y = element_text(face = "italic", size = 10, family = "serif"))
MyPlot
所以我的问题是如何将“Escherichia coli”改为斜体,并以纯文本形式保留“Strain 1”。
非常感谢任何帮助。
最好,
纳茹阿
最佳答案
您可以将scale_y_discrete
与表达式
和italic
一起使用,如下所示:
MyDF <- data.frame(Activity=rep(c("Activity 1", "Activity 2"), each = 3),
Bacteria = c(sample(c("Escherichia coli Strain 1", "Escherichia coli Strain 2"), 3, TRUE, prob = c(0.3, 0.7)),
sample(c("Escherichia coli Strain 1", "Escherichia coli Strain 2"), 3, TRUE, prob = c(0.5, 0.5))))
library(ggplot2)
MyPlot <- ggplot(data = MyDF, mapping = aes(x =Activity , y =Bacteria )) +
xlab(label = "Activities") +
ylab(label = "Strains") +
scale_y_discrete('Strains', labels = expression(~italic("Escherichia coli")~'Strain 1', ~italic("Escherichia coli")~'Strain 2'))
MyPlot
创建于 2022 年 10 月 12 日 reprex v2.0.2
关于r - 如何在R中的轴文本中将句子中的某些单词变为斜体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74038403/