19

私は離散データの棒グラフを描いており、ggplot はデフォルトで y 軸を調整しますが、0.5 間隔で切れ目がある y 軸ラベルが表示されますが、これは好きではありません。試してみscale_y_discreteましたが、離散値ごとに y 軸のブレークが与えられますが、これも良くありません。

y 軸のブレークを強制的に整数のみで構成し、各ファセットに適切なブレークを与えることはできますか?

サンプル スクリプトは次のとおりです。

set.seed(1)
chart.data <- data.frame(x=rep(LETTERS[1:10],3),
                         y=c(sample(0:10,10,replace=TRUE),
                             sample(0:100,10,replace=TRUE),
                             sample(0:1000,10,replace=TRUE)),
                         group=sort(rep(1:3,10)))
chart <- ggplot(data=chart.data,aes(x=x,y=y))
chart <- chart + geom_bar(stat="identity")
chart <- chart + scale_y_discrete()
chart <- chart + facet_wrap(facets=~group,nrow=1,scale="free_y")

更新 #1

投稿は重複の可能性があると見なされているため、スクリプトはより複雑なシナリオを示すように調整されています。

4

2 に答える 2

5

関数内でブレークを直接指定することもできます。以下に、これを行う方法の例をいくつか示します。のbreaks引数も見てください?discrete_scale

chart + scale_y_discrete(breaks=function(n) c(0, floor(max(n)/2), max(n)))    
chart + scale_y_discrete(breaks=function(n) n[floor(length(n)/5)*1:5+1])
chart + scale_y_discrete(breaks=function(n) 10^(ceiling(log10(max(n)))-1)*2*0:5)
于 2013-10-22T08:21:29.363 に答える