ファクタを使用してグラフィックの表示を制御したいと思います。ggplot2を使用したRの順序付け、ラベリング、ファセットコントロール
私は自分の所在地を得るために多くの情報源に相談しましたが、私が生産しているグラフの最終的な問題を解決するための情報をまとめてまとめることはできません。
Iは、具体的には達成したい:ファセット
- 受注
サンプルデータとコードは以下の通りである因子の凡例のタイトルのラベルを変更します:
##### !!!!! graphing with factors and facets
library(ggplot2)
lm <- read.table(header=TRUE, text="
country| medal.type | count | member
South Korea | gold |13 | 0
Italy | gold |8 | 1
France | gold |11 | 1
Australia | gold |7 | 0
Japan | gold |7 | 0
Germany | gold |11 | 1
Great Britain & N. Ireland | gold |29 | 1
Russian Federation | gold |24 | 0
China | gold |38 | 0
United States | gold |46 | 0
South Korea | silver |8 | 0
Italy | silver |9 | 1
France | silver |11 | 1
Australia | silver |16 | 0
Japan | silver |14 | 0
Germany | silver |19 | 1
Great Britain & N. Ireland | silver |17 | 1
Russian Federation | silver |26 | 0
China | silver |27 | 0
United States | silver |29 | 0
South Korea | bronze |7 | 0
Italy | bronze |11 | 1
France | bronze |12 | 1
Australia | bronze |12 | 0
Japan | bronze |17 | 0
Germany | bronze |14 | 1
Great Britain & N. Ireland | bronze |19 | 1
Russian Federation | bronze |32 | 0
China | bronze |23 | 0
United States | bronze |29 | 0
XXXXXXX | bronze |12 | 0
", sep="|" )
lm$medal.type_f <- factor(lm$medal.type, labels= c("gold","silver","bronze"))
lm$country_l <- with(lm, paste(country, medal.type, sep = "_"))
lm$member_f <- factor(lm$member , labels = c("Not EU" , "EU"))
# Make every country unique
lm$country_l <- with(lm, paste(country, medal.type, sep = "_"))
dev.new(width=12, height=8)
p <- ggplot(lm, aes(x=count , y=country , group=member_f))
p + geom_point(size=3, aes(shape=factor(member_f))) +
scale_shape_manual(values=c(1,19)) +
scale_size_manual(values=c(3,3)) +
scale_fill_manual(name="European Union\n Membership") +
facet_grid(medal.type_f ~., scales="free") + geom_vline(xintercept=mean(lm$count), color="red") +
xlab("Count of Medals") +
scale_y_discrete("Country", breaks = lm$country, label = lm$country)
##### !!!!! end of program
私はファセット内のメダル数を最高から最低まで注文し、凡例のタイトルを変更したいと思います。私はある国がある要因を使ってEUの一員であるかどうかを示したいので、そのように示すために異なる記号を使用しました。 scale_fill_manual
を使用している私の試みは失敗しました。
私のために作成されるグラフは次のとおりです。
私が相談してきた参照の一部は以下の通りです:
問題がありますか? –
1つのグラフではなく、別々に各パネルをプロットしない限り、各ファセットに異なる順序のX軸カテゴリを設定することはできません。次に、各パネルに対して別々の注文を作成することができます。しかし、もしそうすれば、3つのパネルは、各パネルの国の順序が異なるため、並べて配置すると分かりにくいでしょう。もう一つの選択肢は、全メダル数または金メダル数で国を注文することです。 – eipi10
@ eipi10これは私が上記に含まれていない別の参考資料です:http://stackoverflow.com/questions/12064007/factor-order-within-faceted-dotplot-using-ggplot2 –