Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 仅在条形图上显示最后四个标签_R_Ggplot2 - Fatal编程技术网

R 仅在条形图上显示最后四个标签

R 仅在条形图上显示最后四个标签,r,ggplot2,R,Ggplot2,我的代码在这里生成一个条形图,每个y值的条形图上都有标签。 我只想显示最后4个数据点作为标签。最好的方法是什么? 库(data.table) 图书馆(GG2) df感谢@user20650的快速响应。将gem_文本分为多个子集就达到了目的。多谢各位 以下是更新的代码: 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

我的代码在这里生成一个条形图,每个y值的条形图上都有标签。
我只想显示最后4个数据点作为标签。最好的方法是什么?

库(data.table)
图书馆(GG2)

df感谢@user20650的快速响应。将gem_文本分为多个子集就达到了目的。多谢各位

以下是更新的代码:

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")
库(data.table)
图书馆(GG2)
df 6),aes(y=y,ymax=y,label=y),
位置=位置\减淡(宽度=0.9),vjust=-.5,color=“红色”)

能否将
geom_文本更改为
geom_文本(数据=子集(df,x>6),aes(y=y,ymax=y,label=y),position=position_道奇(width=0.9),vjust=-.5,color=“red”)
非常感谢您的回复!它工作得很好!接下来的问题是,是否可以只更改最后4个条的颜色?谢谢。您可以将第一行更改为
ggplot(df,aes(x=x,y=y,fill=x>6))+
。为了更好地控制颜色,您可以使用
scale\u fill\u manual
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")