0

昨年 7 月、Alastair は ggplot2 での凡例の順序付けについて、よく構成された質問をしました。

ggplot2 凡例の表示順序の制御

stat_summary で作成された行で構成される凡例の順序を調整することについて、関連するが明確な質問があります。つまり、前の例のように、1 つの変数または 2 つの変数から引き出された値を比較していません。むしろ、計算された平均をグラフ化しています。

現在、生成される凡例はアルファベット順です。任意のソース、クラスメート、メジャーなどです。グラフを読みやすくするために、切片値の減少に基づいてアイテムが並べられるように、凡例を並べ替えたいと思います。優先順位は、任意のソース、クラスメート、教授、Stu です。ワーカー @ サポート センター、ティーチング アシスタント、スタッフ、専攻、その他の教員。

pmf0 <- ggplot(All2011QsGPASource.long, aes(x=ClassYear)) 
pmf1 <- pmf0 + stat_summary(aes(y=FamSuppAny,colour="Any Source"),fun.y=mean,geom="line", lwd=2)
pmf2 <- pmf1 + stat_summary(aes(y=FamClassmAny,colour="Classmate"),fun.y=mean,geom="line", lwd=2)
pmf3 <- pmf2 + stat_summary(aes(y=FamProfAny,colour="Professor"),fun.y=mean,geom="line", lwd=2)
pmf4 <- pmf3 + stat_summary(aes(y=FamStuWkrAny,colour="Stu. Worker @ Support Center"),fun.y=mean,geom="line", lwd=2)
pmf5 <- pmf4 + stat_summary(aes(y=FamTAAny,colour="Teaching Assistant"),fun.y=mean,geom="line", lwd=2)
pmf6 <- pmf5 + stat_summary(aes(y=FamStaffAny,colour="Staff"),fun.y=mean,geom="line", lwd=2)
pmf7 <- pmf6 + stat_summary(aes(y=FamMajorAny,colour="Major"),fun.y=mean,geom="line", lwd=2)
pmf8 <- pmf7 + stat_summary(aes(y=FamOthFacAny,colour="Other Faculty Member"),fun.y=mean,geom="line", lwd=2)
pmf9 <- pmf8 + theme(aspect.ratio=1) + ylab("Percentage") + xlab("Year Survey Taken") 
pmf10 <- pmf9 + scale_x_continuous(breaks=c(1,2,3,4),labels=c("First Year","Sophomore","Junior","Senior")) + xlab("Class Year") + ylab("Percentage") + scale_y_continuous(labels=percent)
pmf11 <- pmf10 + scale_colour_discrete("Specific Source of Support") + labs(title="Sources of Support Over Time - Familiar Assignment")
print(pmf11)

私は現在、Mac OS X 10.7.5 で ggplot2 0.9.3.1、R バージョン 3.0.1 を使用しており、guide_legend に関する印象的な作業について @Kohske Takahashi に感謝しています。現在、凡例の既存の順序を逆にするオプションを確認できますが、別の方法で凡例を並べ替えることを望んでいます。

よろしくお願いします。

アンドレア

4

0 に答える 0