我的代码在这里生成一个条形图,在y值的每个条上都有标签 我想只显示最后4个数据点作为标签。最好的方法是什么?
library(data.table)
library(ggplot2)
df <- data.table(x= c(1,2,3,4,5,6,7,8,9,10), y=c(4,1,-3,-5,4,1,2,4,2,-3))
ggplot(df, aes(x=x, y=y)) +
geom_bar(stat="identity") +
geom_text(aes(y=y, ymax=y, label=y),
position= position_dodge(width=0.9), vjust=-.5, color="red")
非常感谢你。
答案 0 :(得分:2)
感谢@ user20650的快速回复。子设置gem_text就可以了。非常感谢你!
以下是更新后的代码:
library(data.table)
library(ggplot2)
df <- data.table(x= c(1, 2, 3, 4, 5,6,7,8,9,10), y=c(4, 1,-3,-5,4,1,2,4,2,-3))
ggplot(df, aes(x=x, y=y)) +
geom_bar(stat="identity") +
geom_text(data=subset(df, x>6), aes(y=y, ymax=y, label=y),
position= position_dodge(width=0.9), vjust=-.5, color="red")