r - 在ggplot2中制作没有轴编号/刻度的饼图

标签 r ggplot2

我一直在学习 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 函数中的 break 参数会导致绘图成功,但饼图半径上的编号和刻度线除外。省略 coord_polar(并在 scale_y_continuous 中保留 break 参数)函数会导致堆积条形图没有 x 或 y 编号或刻度线。

我找到了一些涉及更改刻度线选项的解决方案,这些应该是一个很好的解决方法,但我很好奇为什么我会收到这个错误。

附带说明:我已经卸载并重新安装了 ggplot2,以确保我拥有最新版本并且校验和都匹配。

编辑:澄清一下,我所追求的是:

plot

除非饼图上没有编号。

最佳答案

我认为这就是你所追求的:

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 版开始 optsreplaced来自 theme :
+ theme(axis.ticks = element_blank(), 
        axis.text.y = element_blank(),
        axis.text.x = element_blank()) 

关于r - 在ggplot2中制作没有轴编号/刻度的饼图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11073525/

相关文章:

R ggplot2 - 具有来自第三个连续变量的渐变颜色的geom_smooth

r - R 中所有级别(甚至没有值的级别)的条形图

r - 使用逻辑表达式向量对 R 中的数据帧进行子集化

r - 如何获取 COVID-19 Data Lake linelistrecords 中的所有记录

r - 在 geom_density_ridges 上画线

r - 在一页上绘制 4 个图,并使用 R 中的常见图例

r - 你如何从 R 批量插入 MongoDB 中的文档?

r - ggplot 标题是否可以包含换行符(与 ggtext 一起使用时)?

r - 过滤堆积条形图中的 geom_text 值标签

ggplot geom_area的R堆叠区域顺序