2
我試圖將文字註釋放置在既有小平面又有離散軸的圖上。我可以使用aes()
將註釋的位置與點數綁定,但我想稍微加點一點以保持點的可讀性。這是好的,如果微移是一個數值等級:沿離散比例調整幾何位置
data <- data.frame(
category = c("blue", "yellow", "red", "green"),
rating = 1:4)
gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category, y = rating + 0.5))
但是,如果我嘗試做一個非數字的規模(在這種情況下,字符)失敗:
gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category + 0.5, y = rating))
gp
Error in unit(x, default.units) : 'x' and 'units' must have length > 0
In addition: Warning messages:
1: In Ops.factor(category, 0.5) : + not meaningful for factors
2: Removed 4 rows containing missing values (geom_text).
我可以使用hjust
和vjust
稍微移動它們,但由於它們旨在對齊文本而不是定位文本,因此即使在最大程度上它們也不會將註釋移動得足夠遠。有沒有一種方法可以確定數字比例將離散變量映射到,還是另一種手動調整geom_text
位置的方法?
hjust可用於位置。這適用於我(這是你在找什麼?):ggplot(data)+ geom_point(aes(x = category,y = rating))+ geom_text(aes(label =「我有一個標籤!」,x =類別,y =等級),hjust = - 。1) – ddiez 2014-09-23 03:51:46
@ddiez你爲什麼不發表這個答案? – jlhoward 2014-09-23 03:55:25
謝謝@jlhoward,完成。 – ddiez 2014-09-23 03:59:35