You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用ggplot2的coord_polar扩大极坐标图范围与柱体粗细

解决ggplot2极坐标图扩大显示范围与增粗柱体的问题

针对你的需求,以下是修改后的代码及关键调整说明:

修改后的完整代码

# 预先定义调色板(避免代码报错,若已定义可忽略)
MyPaletteAll <- scales::hue_pal()(nrow(mtcars))

data(mtcars)
ggplot(mtcars, aes(x = factor(1), fill = rownames(mtcars) )) + 
    scale_fill_manual(values = MyPaletteAll) +
    # 调大size参数增加柱体边框粗细,width保持1确保占满圆周
    geom_bar(width = 1, size=1.2, colour="white") + 
    # 扩展y轴范围,增大极坐标径向空间
    ylim(c(-30, 38)) + 
    coord_polar(theta = "x") + 
    theme_bw() + 
    theme( 
        legend.position="bottom",
        # 设置四周正边距,向全方向扩展绘图空间
        plot.margin=margin(2, 2, 2, 2, "cm"),
        panel.border = element_blank(),
        panel.grid = element_blank(),
        panel.spacing = element_blank(),
        # 隐藏坐标轴元素,释放额外空间
        axis.text = element_blank(),
        axis.title = element_blank()
    ) + 
    guides(fill=guide_legend(nrow=3))

关键调整说明

  • 扩大显示范围:

    1. 调整plot.margin:将原0边距改为margin(2,2,2,2,"cm"),给绘图区域四周预留足够空间,避免内容被裁剪。
    2. 扩展ylim范围:把c(-25,32)调整为c(-30,38),增大极坐标的径向跨度,让整个环形图更舒展。
    3. 隐藏坐标轴元素:添加axis.text和axis.title的隐藏设置,移除不必要的坐标轴内容,释放更多空间。
  • 增加柱体粗细:

    1. 调大geom_bar的size参数:从原0.5改为1.2,强化每个扇形柱体的白色边框,视觉上更厚重。
    2. 扩展ylim同时增大了环形的径向厚度,让整个柱体结构更饱满。

内容的提问来源于stack exchange,提问作者abraham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:45:42