2017-01-18 6 views
0

私はy軸上にカウント数を持つ因子変数のバーグラフを作成したいと思います。また、欠落しているものを含め、すべての要素の棒にカウントラベルを追加したいと思います。未使用の要素にゼロカウントラベルを追加するにはどうすればよいですか?

たとえば、以下のコードは必要なグラフを生成しますが、zファクタにはラベルがありません(0にする必要があります)ので、追加します。 ggplot2バージョン2.2.1.9000

df <- data.frame(x = factor(c("x", "x", "x"), levels = c("x","z"))) 
ggplot(df, aes(x)) + stat_count() + 
    geom_text(stat = "count" ,aes(label = ..count..),vjust = -1) + 
    scale_x_discrete(drop = FALSE) 

データ変換なしでこれを行うことはできますか?

答えて

3

注:

library(ggplot2) 

df <- data.frame(x = factor(c("x", "x", "x"), levels = c("x","z"))) 

ggplot(df, aes(x)) + 
    stat_count() + 
    scale_x_discrete(drop = FALSE) -> gg 

これは、プロット "計算":

gb <- ggplot_build(gg) 

をそして、ここstat_count()計算後に使用可能だとすべてです:

gb$data[[1]] 
## y count prop x PANEL group ymin ymax xmin xmax colour fill size linetype alpha 
## 1 3  3 1 1  1  1 0 3 0.55 1.45  NA grey35 0.5  1 NA 

必要はありません利用可能なデータ(stat_count()から抜粋):

stat_を新規作成するか、プロットの外で計算してください。

+0

詳細な回答ありがとうございます! – ZsideZ

関連する問題