繁体   English   中英

ggplot2绘制数学表达式

[英]ggplot2 plotting mathematical expressions

我有以下数据框:

colframe <- data.frame(x=rep(1,5), y=seq(1,2,.25))

和向量

texti <- c("R %in% [0,0.01)", "R %in% [0.01,0.05)", "R %in% [0.05,0.1)", "R %in% [0.1,0.15)", "R > 0.15")
l <- colorRampPalette(c("red","yellow","green"))
hexi <- l(5)

我想与

ggplot(colframe, aes(x=x, y=y)) +
  geom_point(color=hexi[5:1], size=7) +
  geom_label(aes(label=texti, group=texti), x=1.05, hjust=0) + 
  theme(legend.position = "none",
        panel.background = element_blank(),
        axis.text  = element_blank(),
        axis.ticks = element_blank()) +
  xlab("") + ylab("")

显然,$ in $应该用“ element in”符号表示,并且方括号也应相应显示。 我对expressions()进行了很多尝试,但无法获得正确的表示形式。

有什么想法可以很好地绘制吗?

geom_label()设置parse=TRUE来获取表达式,如?plotmath 这意味着您必须重写间隔。 我将说明如何对所有标签使用相同的文本:

texti <- rep("R %in% group('[',list(0,0.01),')')",5)

ggplot(colframe, aes(x=x, y=y)) +
  geom_point(color=hexi[5:1], size=7) +
  geom_label(aes(label=texti, group=texti), x=1.05, hjust=0, parse = TRUE) + 
  theme(legend.position = "none", 
        panel.background = element_blank(),
        axis.text  = element_blank(),
        axis.ticks = element_blank()) +
  xlab("") + ylab("")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM