0

geom_bar() プロットで別のベクトルでラベルを追加する方法は?

a<-as.POSIXlt("2013-07-01 00:00:00",origin = "1960-01-01",tz="GMT")
b<-as.POSIXlt("2013-07-08 00:00:00",origin = "1960-01-01",tz="GMT")

week1<-sample(seq(as.numeric(a),by=60*60,length.out=200),200,T)
week2<-sample(seq(as.numeric(b),by=60*60,length.out=200),200,T)
times<-c(week1,week2)
class(times)<-c("POSIXt","POSIXct")
times<-as.POSIXlt(times,origin = "1960-01-01",tz="GMT")
key<-sample(LETTERS[1:3],200,T)
df<-data.frame(times=times,order=factor(rep(1:2,each=100)), key=key)

p<-ggplot(df, aes(x=key, y=..count.. ,fill=key ) )
p<-p + geom_bar()
p<-p + facet_wrap( ~ order,ncol=2)
p<-p + coord_flip()
p

df1$y で表される各キー値の数を追加するのが好きです。

df1<-ddply(df, .(key,order), summarize, y=length(key))
p<-p + geom_text(aes(label=df$1y), vjust=0)
4

1 に答える 1

1

data引数を使用して、データ ソースが異なる別のレイヤーを追加できます。ここで重要なことは、レイヤーが y 軸に異なる方法geom_bar()でマップされていることです。これはカウントによってマップされますが、値geom_text()によってマップされます(私は想定しています - 他の値である可能性がありますが、これは論理的に思えます)。つまり、各呼び出し内で指定する必要があります。ydf1y =geom_

p <- ggplot(df, aes(x = key, fill = key))
p1 <- p + geom_bar(aes(y = ..count..)) + facet_wrap( ~ order, ncol = 2) +
  coord_flip()
p2 <- p1 + geom_text(data = df1, aes(y = y + 5, label=y), vjust=0)
p2

ここに画像の説明を入力

于 2013-08-19T13:35:25.840 に答える