如何在 ggplot 的 geom_text_repel 或 geom_text 标签中包含斜体文本?
How do I include italic text in geom_text_repel or geom_text labels for ggplot?
是否可以将部分斜体文本标签传递到 ggplot 中?我已经尝试使用 expression
和 italic
命令 (expression(paste(italic("some text")))
),但是这些不能传递到数据帧中,因为命令的结果不是原子的。设置参数 fontface = "italic"
也不够,因为这会使整个标签变为斜体,而不仅仅是标签中的 select 字符集。例如,我希望一些必须斜体的拉丁短语在标签中被斜体化(例如 "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))
您可以使用 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)
是否可以将部分斜体文本标签传递到 ggplot 中?我已经尝试使用 expression
和 italic
命令 (expression(paste(italic("some text")))
),但是这些不能传递到数据帧中,因为命令的结果不是原子的。设置参数 fontface = "italic"
也不够,因为这会使整个标签变为斜体,而不仅仅是标签中的 select 字符集。例如,我希望一些必须斜体的拉丁短语在标签中被斜体化(例如 "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))
您可以使用 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)