10

レイアウト上の理由から、バーの中央がラベルの上になるように、ラベルの中央にヒストグラム バーを配置したいと思います。

library(ggplot2)

df <- data.frame(x = c(0,0,1,2,2,2))

ggplot(df,aes(x)) + 
    geom_histogram(binwidth=1) + 
    scale_x_continuous(breaks=0:2)

これまでのところ、バーの左側がラベルの上に表示されています。

ここに画像の説明を入力

そのような方法で特定のスニペットを調整することは可能ですか? (fx の代わりに geom_bar を使用しない場合)

4

3 に答える 3

20

これにはカテゴリカル x 軸は必要ありませんが、ビンの幅が 1 以外の場合は、少し試してみる必要があります。

library(ggplot2)

df <- data.frame(x = c(0,0,1,2,2,2))

ggplot(df,aes(x)) + 
geom_histogram(binwidth=1,boundary=-0.5) + 
scale_x_continuous(breaks=0:2)

古いggplot2(<2.1.0) の場合は、 を使用しますgeom_histogram(binwidth=1, origin=-0.5)

于 2013-11-14T22:33:03.080 に答える
5

すぐ下のコードは以前は機能していましたが、機能しなくなりました。ビンを均等に分割できると ggplot が仮定するのを妨げていました (しかし、現在 ggplot2::geom_hiustogram はこの策略をキャッチし、別の関数を使用することを提案しています:

ggplot(df,aes( factor(x) )) + 
    geom_histogram(binwidth=1 )
#Error: StatBin requires a continuous x variable the x variable is discrete. Perhaps you want stat="count"?

したがって、代わりに次を使用します。

ggplot(df,aes( factor(x) )) + 
    stat_count ()
于 2013-11-20T18:44:37.497 に答える