我试图在图表的每个方面注释最高值。
我无法弄清楚如何删除y轴底部的额外空间而不将文本剪切到最高值之上。
A)是否存在scale_y_continuous(expand=c(0,0))
的非对称版本?
B)或者,有没有办法让ggplot包含文本作为图表范围的一部分?
# a simple dataset
count <- 40
data <- data.frame(
category = sample(LETTERS[1:3], count, TRUE),
x = rnorm(count),
y = abs(rnorm(count))
)
# find the highest value in each category
require(plyr)
data <- data[order(-data$y),]
topValues <- ddply(data, .(category), head, 1)
require(ggplot2)
ggplot(data) +
geom_line(aes(x=x, y=y)) +
geom_text(data=topValues, aes(x=x, y=y, label=y)) + # label the highest y value
# add vjust=-1 to put text above point if possible
facet_grid(category ~ ., scale="free") +
scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0))
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以使用vjust
的{{1}}参数来调整标签相对于geom_text
和x
坐标的垂直位置:
y