これはiris
データセットの棒グラフです。各バーの上の文字は、有意差を示し、kruskal-wallis
試験から得た。 このサンプルプロットではあまりにも厄介ではありませんが、私の実際のデータは、エラーバーとバー長の違いがずっと大きいです。そういうわけで、手紙はどこにでもあり、読むのが難しくなります。私は文字が各バーの下、x軸の真上に位置することが可能かどうか疑問に思います。こうすることで、彼らはすべて整列して読みやすくなります。何を考える?geom_barsの下に重要な文字
コード:
library(reshape2)
library(ggplot2)
library(agricolae)
library(Rmisc)
file<-iris
melt <- melt(file, id=c("Species"))
x1 <- summarySE(melt, measurevar = "value", groupvars = c("variable", "Species"), na.rm=TRUE)
d=list()
tmp=list()
for(i in 1:4){
if(var(file[,i]) > 0){
tmp<-c(tmp,colnames(file[i]))
krusk <- kruskal(file[,i],file[,5],group=TRUE)
krusk$groups<-krusk$groups[order(krusk$groups[,'trt']),]
d[[i]]<-as.data.frame(krusk$groups)
}
}
big_data=do.call(rbind,d)
plot<- ggplot(x1, aes(x = variable, y = value, fill = Species)) +
coord_flip()+
geom_bar(stat = "identity", position =position_dodge(),colour="black",width=.7,size=.5)+
geom_errorbar(aes(ymin=value-se, ymax=value+se), width=.1,size=.5,position=position_dodge(.7))+
theme(
axis.text = element_text(angle=0, vjust=1,size=8,face="bold"),legend.title=element_blank(),legend.position="bottom",
legend.text=element_text(face="italic"))+
labs(title=NULL,x=NULL,y=NULL)+
geom_text(aes(label=big_data$M,colour=Species),position=position_dodge(width=1),vjust=.8,hjust=-1,size=3)
plot
コードがエラーを生成します。 'summaySE'関数はどのパッケージに属していますか?しかし、1つの問題は幅のパラメータにある可能性があります。 'position-dodge()'内のwidthパラメータは異なります。それらを同じにする。バーをお互いに突き合わせたい場合は、 'geom_bar()'の中のwidthパラメータを 'position_dodge()'のwidthパラメータと同じにしてください。私が望むようにテキストの上にどのように配置するかを見てください(http://stackoverflow.com/questions/40211451/geom-text-how-to-position-the-テキストオンバー私として/ 40229784#40229784) –
それを指摘してくれてありがとう。編集した投稿に 'library(Rmisc)'が含まれています。私は、バーを読み上げることをさらに困難にするので、バーを突き合わせることは望ましくありません。リンクありがとう。私はバーの終わりにそれらを移動することができますが、私はバーの始めにそれらをしたいと思います。 :) –