首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加带有斜体和上标的条形标签到巴图中

添加带有斜体和上标的条形标签到巴图中
EN

Stack Overflow用户
提问于 2014-07-31 11:50:13
回答 2查看 2.8K关注 0票数 1

我使用barplot作为我的数据。

我需要插入x轴条形标签(样本名称),其中有上标,应该是斜体。例如,其中一个示例名称(bar标签)是实验室(Delta21)。除了用斜体表示的全名外,我还想让delta in (delta21)是符号形式,(delta21)是实验室的上标。(这并不奇怪,只是生物基因突变体的名字是怎么写的)。

我试过摆弄names.arg=expression(),但没能让它发挥作用。

任何建议/想法都是受欢迎的。

EN

回答 2

Stack Overflow用户

发布于 2014-07-31 13:49:30

请试试这个最小的例子:

代码语言:javascript
复制
x <- rnorm(2)
barplot(x, names.arg = c(expression(paste(italic("1")^"st")), expression(paste(italic("2")^"nd"))))

italic()做斜体部分,^做上标部分。

票数 2
EN

Stack Overflow用户

发布于 2014-07-31 14:53:21

您可能需要使用ggplot2来创建您的barplot,因为“粗体、斜体和粗体不适用于符号,因此不适用于希腊符号,如mu”引用自此帮助页面。我还假设为不同的样本分配不同的数字(例如,Lab_delta21、Lab_delta22等)。

代码语言:javascript
复制
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呈现为希腊字母。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25058198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档