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

如何调整R语言ggradar包生成的雷达图尺寸?

调整ggradar雷达图尺寸及清晰度的方法

因为ggradar是基于ggplot2构建的,所以可以通过调整绘图元素大小+导出时指定高分辨率大尺寸来解决嵌入演示文稿看不清的问题,具体方法如下:

1. 调整ggradar内置的文本/刻度参数

ggradar提供了直接调整图表元素大小的参数,先把这些参数调大,让文本、刻度更清晰:

library(tidyverse)
library(ggradar)

data <- structure(list(Group = c("Dec 2019", "Dec 2020", "Dec 2021", 
"Jun 2022"), `Macroeconomic environment` = c(0.75, 0.85, 0.9, 
0.95), `Banking sector` = c(0.55, 0.52, 0.42, 0.39), `Corporate debt` = c(0.33, 
0.3, 0.35, 0.35), `Household debt` = c(0.45, 0.48, 0.48, 0.5), 
    `Non-banking financial sector` = c(0.5, 0.53, 0.58, 0.58), 
    `Payment and settlement systems` = c(0.15, 0.15, 0.2, 0.2
    ), `Public Sector Debt` = c(0.77, 0.89, 0.95, 0.95)), row.names = c(NA, 
-4L), class = c("tbl_df", "tbl", "data.frame"))

# 调整ggradar元素大小参数
plot <- data %>%
  ggradar(group.colours = c('#6d1d26','#c7af76', 'grey', '#4B5320'),
          legend.position = 'bottom',
          axis.label.size = 5,  # 雷达轴标签大小
          grid.label.size = 4,  # 网格刻度标签大小
          legend.text.size = 4) # 图例文本大小

2. 导出高分辨率大尺寸图片

用ggsave()导出时,指定足够大的宽度、高度和高dpi,这样嵌入演示文稿时不会模糊:

# 导出为PNG,适合演示文稿
ggsave("radar_plot.png", 
       plot = plot, 
       width = 12,  # 宽度,单位默认英寸
       height = 10, # 高度
       dpi = 300)   # 分辨率,300dpi足够清晰

# 如果需要矢量图(放大不失真),可以导出为SVG或PDF
ggsave("radar_plot.svg", plot = plot, width = 12, height = 10)

3. RMarkdown中直接调整尺寸

如果是在RMarkdown文档中生成图表后嵌入演示文稿,直接在代码块中设置fig.width和fig.height参数:

```{r fig.width=12, fig.height=10, dpi=300}
data %>%
  ggradar(group.colours = c('#6d1d26','#c7af76', 'grey', '#4B5320'),
          legend.position = 'bottom',
          axis.label.size = 5,
          grid.label.size = 4,
          legend.text.size = 4)
## 原理说明
ggradar本质是ggplot对象,所以所有ggplot的尺寸调整方法都适用:
- 先通过ggradar的专属参数调整内部元素的显示大小,避免元素拥挤
- 再通过导出时的宽高和dpi控制图片的实际像素尺寸,高dpi保证放大后依然清晰

内容的提问来源于stack exchange,提问作者Tanga94
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:45:42