首页 > 解决方案 > 如何在不知道绘图的确切坐标的情况下将文本放在绘图 (ggplot2) 上?

问题描述

我有一个情节g制作:

library(ggplot2)

g = ggplot(mtcars, aes(mpg, cyl)) +
        geom_point()

annotate现在,我想使用(或其他任何东西)向情节添加文本。我特别希望文本出现在情节的左下角。

这有效:

g + annotate("text", x = 12, y = 4, label = "Boring Label")

在此处输入图像描述

但是,这种方法的问题是我必须知道绘图坐标 (x = 12, y = 4) 才能将文本放置在绘图的左下角。我将为许多不同的绘图自动执行此过程,并且我想将相同的文本放置在同一位置(左下角)而不知道绘图的最小和最大坐标。例如,类似c(0.3, 0.1)c(x = 0.3, y = 0.1)(0 = 最小值,x 和 y 为 1 最大值)之类的东西会非常有帮助。但这不适用于annotate("text", x = 0.3, y = 0.1, label = "Boring Label").

标签: rggplot2plot

解决方案


您可以尝试这种方法,按每个变量的最大值缩放位置。当然,您可以0.95根据您希望文本所在的位置更改 的值。

ggplot(mtcars, aes(mpg, cyl)) +
        geom_point() +
        annotate("text", x = max(mtcars$mpg) * 0.95, y = max(mtcars$cyl) * 0.95, label = "Boring Label")

在此处输入图像描述


推荐阅读