ggplot2を使用して、回避位置を使用して、横軸に係数を、塗りつぶし色に別の係数を使用してヒストグラムを作成しています。私の問題は、フィルファクターが水平ファクターの値に対して1つの値しかとらないことがあり、バーをかわすものが何もないと全幅を占めることです。すべてのバーの幅が同じになるように何も回避しないようにする方法はありますか?または同等に0をプロットしますか?
例えば
ggplot(data = mtcars, aes(x = factor(carb), fill = factor(gear))) +
geom_histogram(position = "dodge")
この答えにはいくつかのアイデアがあります。新しいバージョンがリリースされる前にも尋ねられたので、何かが変わったのでしょうか?ファセットの使用(ここにも表示されています)データの編集と使用は機能すると思いますが、自分の状況は気に入らないのですが、geom_bar
エレガントではありません。また、とにかく琢刻してみたら
ggplot(mtcars, aes(x = factor(carb), fill = factor(gear))) +
geom_bar() + facet_grid(~factor(carb))
「layout_base(data、cols、drop = drop)のエラー:少なくとも1つのレイヤーにファセットに使用されるすべての変数が含まれている必要があります」というエラーが表示されます
カウントのデータフレームを生成してから、を使用できると思いますgeom_bar
。
mtcounts <- ddply(subset(mtcars, select = c("carb", "gear")),
.fun = count, .variables = c("carb", "gear"))
存在しないレベルに0を入力します。それがうまくいくかどうか、またはより良い方法があるかどうか誰かが知っていますか?