我试图在R中使用ggplot2显示拟合的回归曲线。我正在使用 ggplot2 的 annotate 在图中显示最佳拟合模型的方程式。我可以通过增加 annotate 中 size 参数的值来增加整体字体大小,但是我只想增加上标文本的字体大小,以便于阅读。 。这是一个简单的可复制代码块。
eq.sage.eg.sf <- substitute(italic(Y) == frac(2.76,5.13)~e^(-frac(italic(x)-12.09, 5.113)~-e^(-frac(italic(x)-12.09, 5.13))) + 0.08*"," ~ Resid. ~ SE == 0.03)
eq.sage.eg.sf <- as.character(as.expression(eq.sage.eg.sf))
library(ggplot2)
ggplot(x = seq(0, 150, 1), y = seq(0, 0.35, 0.1)) +
annotate(geom = "text", x = 95, y = 0.28, label = eq.sage.eg.sf,
parse = TRUE, size = 4.25)
请看一下图中,我想增加红色圆圈内文本的字体大小。
答案 0 :(得分:1)
让这些层硬编码。想法是将公式分为3部分,并使用不同的大小逐层传递给ggplot层,作为不同的元素:
one <- as.character(as.expression(substitute("italic(Y) == frac(2.76,5.13)")))
two <- as.character(as.expression(substitute(~e^(-frac(italic(x)-12.09, 5.113)~-e^(-frac(italic(x)-12.09, 5.13))))))
three <- as.character(as.expression(substitute("+ 0.08* ~ Resid. ~ SE == 0.03")))
library(ggplot2)
ggplot(x = seq(0, 150, 1), y = seq(0, 0.35, 0.1)) +
annotate(geom = "text", x = 95, y = 0.28, label = one,
parse = TRUE, size = 4.25) +
annotate(geom = "text", x = 95.14, y = 0.31, label = two,
parse = TRUE, size = 8.25) +
annotate(geom = "text", x = 95.33, y = 0.28, label = three,
parse = TRUE, size = 4.25) +
scale_x_continuous(limits = c(94.9, 95.4)) +
scale_y_continuous(limits = c(0.28))