我有一組資料需要添加到標簽級別。一個在構面網格內的單個圖表上,另一個來自一個小資料框,每個圖表都有條目。
在下面的示例中,您會看到我可以毫無問題地添加到單個圖表中,但是當我嘗試從 df 添加時,我得到了錯誤 -
Error in FUN(X[[i]], ...) : object 'wt' not found
準備:
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) geom_line()
p <- p facet_grid(. ~ cyl)
ann_text <- data.frame(mpg = 30,wt = 5,lab = "Text",
cyl = factor(8,levels = c("4","6","8")))
dfl <- data.frame(name = c('Jim',"Bob", "Sue"), r = c(-0.2, 0.5, -0.4))
單標簽:
p geom_text(data = ann_text,label = "Text")
多個標簽:
p geom_text(data = ann_text,label = "Text")
geom_text(data = dfl, mpg = 30,wt = 5, aes(label = r))
我正在使用的方法是嘗試重新創建我在 SO 和其他地方找到的其他示例,但我似乎遺漏了一些東西。
uj5u.com熱心網友回復:
它在您的第二個代碼中不起作用,因為在第二個代碼中geom_text,您的mpg而wt不是在aes(). 此外,這兩個變數在您的dfl.
如果您希望更好地控制變數的標簽,您可以在指定標簽的位置和位置時r創建額外的列,并在.dflxygeom_text(aes())
請注意,我已經修改了y第二個中的位置,geom_text以避免“0,2”與“文本”重疊。
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) geom_line()
p <- p facet_grid(. ~ cyl)
ann_text <- data.frame(mpg = 30,wt = 5,lab = "Text",
cyl = factor(8,levels = c("4","6","8")))
dfl <- data.frame(name = c('Jim',"Bob", "Sue"), r = c(-0.2, 0.5, -0.4))
p geom_text(data = ann_text,label = "Text")
geom_text(data = dfl, aes(30, 4, label = r), check_overlap = T)

由reprex 包創建于 2022-05-06 (v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471585.html
上一篇:將匯總表添加到分面網格箱線圖
