内塗りつぶしの色を注文するにはどうすればよい私は結果がカテゴリに対応する様々な色で埋めバーがbarplotあるあなたはggplot2のgeom_bar
ggplot(data,aes(x,y,fill=category)+geom_bar(stat="identity")
ggplot関数を呼び出しています。しかし、色の順序はバーごとに一貫していません。ピンク、緑、青があるとします。いくつかのバーはピンク、グリーン、ブルーが下から上に、そしていくつかは緑、ピンク、青に変わります。私は明らかなパターンを見ません。
これらの注文はどのように選択されていますか?どうすれば変更できますか?少なくとも、ggplotに一貫した順序を選択させるにはどうすればよいですか?
(x、y、カテゴリ)のクラスはそれぞれ(整数、数値、因子)です。カテゴリを順序付けられた要素にすると、この動作は変わりません。
誰でもこの問題を解決する方法を知っていますか?
再現例:
dput(data)
structure(list(mon = c(9L, 10L, 11L, 10L, 8L, 7L, 7L, 11L, 9L,
10L, 12L, 11L, 7L, 12L, 8L, 12L, 9L, 7L, 9L, 10L, 10L, 8L, 12L,
7L, 11L, 10L, 8L, 7L, 11L, 12L, 12L, 9L, 9L, 7L, 7L, 12L, 12L,
9L, 9L, 8L), gclass = structure(c(9L, 1L, 8L, 6L, 4L, 4L, 3L,
6L, 2L, 4L, 1L, 1L, 5L, 7L, 1L, 6L, 8L, 6L, 4L, 7L, 8L, 7L, 9L,
8L, 3L, 5L, 9L, 2L, 7L, 3L, 5L, 5L, 7L, 7L, 9L, 2L, 4L, 1L, 3L,
8L), .Label = c("Down-Down", "Down-Stable", "Down-Up", "Stable-Down",
"Stable-Stable", "Stable-Up", "Up-Down", "Up-Stable", "Up-Up"
), class = c("ordered", "factor")), NG = c(222614.67, 9998.17,
351162.2, 37357.95, 4140.48, 1878.57, 553.86, 40012.25, 766.52,
15733.36, 90676.2, 45000.29, 0, 375699.84, 2424.21, 93094.21,
120547.69, 291.33, 1536.38, 167352.21, 160347.01, 26851.47, 725689.06,
4500.55, 10644.54, 75132.98, 42676.41, 267.65, 392277.64, 33854.26,
384754.67, 7195.93, 88974.2, 20665.79, 7185.69, 45059.64, 60576.96,
3564.53, 1262.39, 9394.15)), .Names = c("mon", "gclass", "NG"
), row.names = c(NA, -40L), class = "data.frame")
ggplot(data,aes(mon,NG,fill=gclass))+geom_bar(stat="identity")
再現可能な例ですか? –
BTW:Brianは、これは実際に(やや長年の)バグであることを確認しました。 – joran
Readerは注意してください - ggplot2の最近の履歴でこの動作が数回変わってしまいましたが、回答の例のいくつかはもう動作しません。 –