在 ggplot 中使用 geom_text() 添加带有希腊字母的方程式
Adding equations with Greek letters using geom_text() in ggplot
我有一个我绘制的小数据框,我想在其中添加一个使用希腊字母的方程式
library(tidyverse)
Beta <- c( 1.53, 1.36, 1.24, 1.17, 1.06, 0.92, 0.84, 0.76, 0.63, 0.48)
Sigma <- c( 0.49, 0.43, 0.39, 0.37, 0.33, 0.29, 0.27, 0.24, 0.20, 0.17)
df <- data.frame(Beta, Sigma)
然后我使用我在 上建模的以下代码针对 Beta 绘制 Sigma:
ggplot(df, aes(x = Beta, y = Sigma)) +
geom_point() +
geom_smooth(method='lm', formula = y ~ x, se = FALSE, size = 0.6, color = "gray20") +
ylab("Standard Deviation") +
geom_text(aes(1.0, 0.2, label=(paste(expression("sigma = 0.33 beta "*"")))),parse = TRUE)
这行得通,并在我的图上给出了文本字符串“sigma = 0.33 beta”,但我真正想要的是希腊字母 mu 和 sigma,而不是 mu 和 sigma。将表达式更改为 "$\sigma = 0.33 \beta "*""$ (或它的变体)只会给我一个错误:
Error: '\s' is an unrecognized escape in character string starting ""$\s"
使用 geom_text() 向绘图添加希腊字母(或一般符号)的正确语法是什么?我试过 ?plotmath
,它似乎暗示 alpha
和 beta
将显示为希腊符号,但它们显然不会。
提前致谢
托马斯·飞利浦
当绘图坐标或任何其他美学元素不依赖于数据时,就不需要 aes()
。下面的geom_text
就是这种情况,它的参数都是常量。并且也不需要将要绘制的表达式解析为文本标签。
ggplot(df, aes(x = Beta, y = Sigma)) +
geom_point() +
geom_smooth(method='lm', formula = y ~ x, se = FALSE, size = 0.6, color = "gray20") +
ylab("Standard Deviation") +
geom_text(x = 1.0, y = 0.2,
label = expression(sigma == "0.33" ~ beta^"*"))
我有一个我绘制的小数据框,我想在其中添加一个使用希腊字母的方程式
library(tidyverse)
Beta <- c( 1.53, 1.36, 1.24, 1.17, 1.06, 0.92, 0.84, 0.76, 0.63, 0.48)
Sigma <- c( 0.49, 0.43, 0.39, 0.37, 0.33, 0.29, 0.27, 0.24, 0.20, 0.17)
df <- data.frame(Beta, Sigma)
然后我使用我在
ggplot(df, aes(x = Beta, y = Sigma)) +
geom_point() +
geom_smooth(method='lm', formula = y ~ x, se = FALSE, size = 0.6, color = "gray20") +
ylab("Standard Deviation") +
geom_text(aes(1.0, 0.2, label=(paste(expression("sigma = 0.33 beta "*"")))),parse = TRUE)
这行得通,并在我的图上给出了文本字符串“sigma = 0.33 beta”,但我真正想要的是希腊字母 mu 和 sigma,而不是 mu 和 sigma。将表达式更改为 "$\sigma = 0.33 \beta "*""$ (或它的变体)只会给我一个错误:
Error: '\s' is an unrecognized escape in character string starting ""$\s"
使用 geom_text() 向绘图添加希腊字母(或一般符号)的正确语法是什么?我试过 ?plotmath
,它似乎暗示 alpha
和 beta
将显示为希腊符号,但它们显然不会。
提前致谢
托马斯·飞利浦
当绘图坐标或任何其他美学元素不依赖于数据时,就不需要 aes()
。下面的geom_text
就是这种情况,它的参数都是常量。并且也不需要将要绘制的表达式解析为文本标签。
ggplot(df, aes(x = Beta, y = Sigma)) +
geom_point() +
geom_smooth(method='lm', formula = y ~ x, se = FALSE, size = 0.6, color = "gray20") +
ylab("Standard Deviation") +
geom_text(x = 1.0, y = 0.2,
label = expression(sigma == "0.33" ~ beta^"*"))