2017-05-16 9 views
3

gplot & aes_string()を使用して、高い値から低い値(左から右)のバープロットを並べ替える必要があります。例えば、 < DFデータフレームのために - 、F(X、Y、Z)これはggplotのaes_string内で並べ替えを呼び出す方法

ggplot(top10,aes(x=reorder(X,-Y),y=Y,fill=X) + geom_bar(stat="identity") 

で行うことができるしかし、私は

以下のように代わりに列名のデータフレームの列番号を参照することにより、これを達成するために必要
ggplot(top10, aes_string(x=colnames(top10)[num1],y=meanFeat, 
fill=colnames(top10)[num1])) + geom_bar(stat="identity") 

上記の文は、列番号を使用して出力をプロットしています。しかし、それは高いから低い(左から右へ)並べ替えません

どのようにこれを達成するためにaes_stringの中で再注文機能を使うことができますか?文字列と

答えて

5

aes_string以来作品、paste使用:

ggplot(top10, aes_string(x=paste0("reorder(",colnames(top10)[num1],", -Y)"),y=meanFeat, 
fill=colnames(top10)[num1])) + geom_bar(stat="identity") 
関連する問題