是否可以将部分斜体的文本标签传递给ggplot?我尝试过使用expression
和italic
命令(expression(paste(italic("some text")))
),但这些命令不能传递到数据帧中,因为命令的结果不是原子的。设置参数fontface = "italic"
也是不够的,因为这将使整个标签变为斜体,而不仅仅是标签中选定的一组字符。例如,我希望一些必须使用斜体的拉丁语短语在标签中使用斜体(例如"in vivo point“中的"in vivo”)。
library(ggplot)
library(ggrepel)
df <- data.frame(V1 = c(1,2), V2 = c(2,4), V3 = c("in vivo point","another point"))
ggplot(data = df, aes(x = V1, y = V2)) + geom_point() + geom_text_repel(aes(label = V3))
发布于 2017-01-08 14:48:45
您可以使用parse = TRUE
将?plotmath
表达式(作为字符串)传递给geom_text
或geom_text_repel
。您必须将字符串重写为plotmath,但如果不是太多,也不会太差。
df <- data.frame(V1 = c(1,2), V2 = c(2,4),
V3 = c("italic('in vivo')~point", "another~point"))
ggplot(data = df, aes(x = V1, y = V2, label = V3)) +
geom_point() +
geom_text_repel(parse = TRUE)
https://stackoverflow.com/questions/41528953
复制相似问题