ggplot2中的上标和下标点
Superscript and subscript points in ggplot2
我想在 ggplot2 点图中将 sub/superscript 添加到某些 letters/characters。我知道如何在轴上执行此操作,但在这种情况下,因为它们是特殊字符,所以我在绘图之前定义了一个字符向量:
IPA=(c("ph", "th", "kh", "p", "t", "k", "ts", "tsh", etc.))
我想为图中的点绘制字母组合,例如 p^[h] 和 ts^[h],但此语法不起作用(p^{h} 或 p^h)。见图形。
p <- ggplot(data, aes(x, y, label=IPA))
p + geom_text(size = 5) +
theme(legend.position="none") +
scale_shape_manual(values = IPA)
您可以将文本转换为 plotmath
表达式并在 geom_text
中使用 parse=TRUE
。以下是内置 mtcars
数据框的示例。我已将您的 IPA
值作为列添加到 mtcars
,然后将 h
的所有实例转换为 [h]
,以及 ts
的所有实例] 到 t^s
,它们分别是 plotmath
中的下标和上标表达式(有关表达式的更多信息,请参见 ?plotmath
;还有很多与 R 图中的数学注释相关的 Whosebug 问题). parse=TRUE
导致 geom_text
将 h
呈现为下标。
mtcars$IPA = gsub("h", "[h]", IPA)
mtcars$IPA = gsub("ts", "t^s", mtcars$IPA)
ggplot(mtcars, aes(mpg, wt, label=IPA)) +
geom_text(size=5, parse=TRUE) +
theme_classic()
我想在 ggplot2 点图中将 sub/superscript 添加到某些 letters/characters。我知道如何在轴上执行此操作,但在这种情况下,因为它们是特殊字符,所以我在绘图之前定义了一个字符向量:
IPA=(c("ph", "th", "kh", "p", "t", "k", "ts", "tsh", etc.))
我想为图中的点绘制字母组合,例如 p^[h] 和 ts^[h],但此语法不起作用(p^{h} 或 p^h)。见图形。
p <- ggplot(data, aes(x, y, label=IPA))
p + geom_text(size = 5) +
theme(legend.position="none") +
scale_shape_manual(values = IPA)
您可以将文本转换为 plotmath
表达式并在 geom_text
中使用 parse=TRUE
。以下是内置 mtcars
数据框的示例。我已将您的 IPA
值作为列添加到 mtcars
,然后将 h
的所有实例转换为 [h]
,以及 ts
的所有实例] 到 t^s
,它们分别是 plotmath
中的下标和上标表达式(有关表达式的更多信息,请参见 ?plotmath
;还有很多与 R 图中的数学注释相关的 Whosebug 问题). parse=TRUE
导致 geom_text
将 h
呈现为下标。
mtcars$IPA = gsub("h", "[h]", IPA)
mtcars$IPA = gsub("ts", "t^s", mtcars$IPA)
ggplot(mtcars, aes(mpg, wt, label=IPA)) +
geom_text(size=5, parse=TRUE) +
theme_classic()