我使用barplot作为我的数据。
我需要插入x轴条形标签(样本名称),其中有上标,应该是斜体。例如,其中一个示例名称(bar标签)是实验室(Delta21)。除了用斜体表示的全名外,我还想让delta in (delta21)是符号形式,(delta21)是实验室的上标。(这并不奇怪,只是生物基因突变体的名字是怎么写的)。
我试过摆弄names.arg=expression(),但没能让它发挥作用。
任何建议/想法都是受欢迎的。
发布于 2014-07-31 13:49:30
请试试这个最小的例子:
x <- rnorm(2)
barplot(x, names.arg = c(expression(paste(italic("1")^"st")), expression(paste(italic("2")^"nd"))))italic()做斜体部分,^做上标部分。
发布于 2014-07-31 14:53:21
您可能需要使用ggplot2来创建您的barplot,因为“粗体、斜体和粗体不适用于符号,因此不适用于希腊符号,如mu”引用自此帮助页面。我还假设为不同的样本分配不同的数字(例如,Lab_delta21、Lab_delta22等)。
library(ggplot2)
library(reshape)
## make up data
data_table <- cast(mtcars, gear ~., value="mpg", mean)
data_table <- rename(data_table, c("(all)"="mean_mpg"))
lab_number <- 21:23
fancy_labels <- sapply(lab_number, function(x) paste0("italic(Lab[delta]", "[", x, "])"))
ggplot(data_table, aes(gear, mean_mpg)) + geom_bar(stat = "identity") +
scale_y_continuous(limits=c(0, 30))+
geom_text(aes(label=fancy_labels), parse=TRUE, hjust=0.5, vjust=-0.5, size=7)

第二个"[]“是必要的,就像在[delta][21]中一样,因为没有它,geom_text就会将[delta21]识别为一个单词,而不会将delta呈现为希腊字母。
https://stackoverflow.com/questions/25058198
复制相似问题