4

私は ggplot2 を通じて自分のやり方を学んでおり、極座標を使用して円グラフを作成するようになりましたが、少し問題が発生しました。

軸番号や目盛りのない円グラフを作成したいと考えています。私が持っているコードのサンプルは次のとおりです。

data = data.frame(Category = c("A", "B", "C", "D"), Value = runif(4))
ggplot(data, aes(0, weight = Value, fill = Category)) +
  scale_x_continuous(breaks = NA) +
  scale_y_continuous(breaks = NA) +
  geom_bar(binwidth = 1) +
  coord_polar(theta = "y") +
  scale_fill_brewer(pal = "Set1")

このコードは私にエラーを与えます:

Error in if (ends_apart < 0.05) { : argument is of length zero

scale_y_continuous 関数でブレーク引数を省略すると、円グラフの半径に番号付けと目盛りが付いている場合を除いて、正常なプロットが得られます。coord_polar 関数を省略すると (および scale_y_continuous に break 引数を残すと)、x または y の番号付けや目盛りのない積み上げ棒グラフが生成されます。

目盛りオプションの変更を伴ういくつかの解決策を見つけました。それらは適切な回避策であるはずですが、なぜこのエラーが発生するのか興味がありました。

補足として、最新バージョンを使用し、チェックサムがすべて一致するように、ggplot2 をアンインストールして再インストールしました。

編集:明確にするために、私が求めているのは次のようなものです:

プロット

円グラフに番号を付けないことを除いて。

4

1 に答える 1

8

これがあなたが求めているものだと思います:

ggplot(data,aes(x = factor(0),y = Value,fill = Category)) + 
    geom_bar(stat = "identity",position = "fill") +
    scale_fill_brewer(palette = 'Set1') + 
    coord_polar(theta = "y") + 
    opts(axis.ticks = theme_blank(),
             axis.text.y = theme_blank(),
             axis.text.x = theme_blank())

: バージョン 0.9.2 以降optsは次のように置き換えられましtheme

+ theme(axis.ticks = element_blank(), 
        axis.text.y = element_blank(),
        axis.text.x = element_blank()) 
于 2012-06-17T18:09:25.183 に答える