1
我想製作一個函數,將標籤添加到現有圖(內置ggplot2)中,並根據數據的X和Y值的比例定位標籤。但是,當我在函數中創建變量h和v時,它們在函數外部不被識別。有沒有解決的辦法?如果你把你使用的數據框的值在ggplot函數中引用存儲的變量
alphabet = data.frame("X"=c(1,2,3), "Y"=c(1,2,3), "Label"=c("A", "B", "C"))
plot = ggplot(data = alphabet, aes(x = X, y = Y)) + geom_point()
addLabel = function(d, p, row) {
h = max(d$X)*0.5
v = max(d$Y)*0.5
p = p + geom_text(data=d[row,], aes(x = X+h, y = Y+v, label = Label))
return(p)
}
addLabel(alphabet, plot, 1)
### Returns:
Error in eval(expr, envir, enclos) : object 'h' not found
查看'geom_text'。 'plot + geom_text(aes(label =「Label」))' – CPak
或將它們添加到數據集中。例如'd $ h = max(d $ X)* 0.5' – aosmith