0

の軸ブレークを変更する必要がありgeom_mosaicます。これが私の例です:

my_tibble <-
  tibble(a=rep(c("a1","a2"),each=4),
         b=rep(rep(c("b1","b2"),each=2),times=2),
         c=rep(c("c1","c2"),times=4),
         x=seq_along(b)
  )

my_tibble |>
  ggplot() +
  geom_mosaic(aes(x=product(a,b,c),weight=x,fill=a),
              divider=c("vspine","hspine","hspine"))
  

ここに画像の説明を入力

このように、外側のグループ化変数のラベルのみが必要です

ここに画像の説明を入力

の単純な関数呼び出しでこれを達成できますgeom_mosaicか?

4

1 に答える 1

0

この投稿に基づいて解決策を見つけました: order and fill with 2 different variables geom_bar ggplot2 R

my_tibble |>
  ggplot() +
  geom_mosaic(aes(x=product(a,b,c),weight=x,fill=a),
              divider=c("vspine","hspine","hspine")) +
  labs(x="c") +
  scale_x_productlist(breaks=my_tibble |>
                        group_by(c) |>
                        summarise(pos = sum(x)) |>
                        mutate(pos=cumsum(pos/sum(pos)),
                               lag = lag(pos)) |>
                        replace_na(list(lag=0)) |>
                        rowwise() |>
                        mutate(posx=sum(pos,lag)/2) |> 
                        pull(posx),
                      labels=my_tibble |>
                        pull(c) |>
                        unique())

コードはまだクリーンアップする必要があります。

于 2022-02-15T00:10:11.547 に答える