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

如何在R的gglikert函数中指定条形高度(Rmarkdown转PDF)

解决gglikert图中不同问题数量下条形高度不一致的问题

你修改的width参数是控制条形宽度的,和条形高度完全无关。条形高度由绘图区域的垂直空间分配决定:问题数量越多,每个问题的条形能分到的垂直空间就越少,所以看起来更矮。

下面是几种有效的解决方法:

方法1:固定绘图的垂直尺寸(最直接)

在Rmarkdown的代码块选项里设置fig.height,按问题数量分配高度——比如每个问题分配1单位高度,6个问题设fig.height=6,3个问题设fig.height=3,这样两个图的条形高度就能保持一致。

修改后的代码示例:

6个问题的图

```{r fig.height=6}
p = gglikert(df %>% select(-grouping))
p
### 3个问题的图
```r
```{r fig.height=3}
p2 = gglikert(df %>% select(-c(grouping,q4,q5,q6)))
p2
## 方法2:动态计算绘图高度(更灵活)
如果不想手动设置高度,可以通过代码动态计算选中的问题数量,自动匹配`fig.height`:
```r
```{r fig.height=!r df %>% select(-grouping) %>% ncol()}
p = gglikert(df %>% select(-grouping))
p
```r
```{r fig.height=!r df %>% select(-c(grouping,q4,q5,q6)) %>% ncol()}
p2 = gglikert(df %>% select(-c(grouping,q4,q5,q6)))
p2
## 方法3:微调y轴间距(辅助优化)
如果想让条形更紧凑,可以用`scale_y_discrete()`的`expand`参数减少上下空白:
```r
p = gglikert(df %>% select(-grouping)) +
  scale_y_discrete(expand = c(0.05, 0))
p

内容的提问来源于stack exchange,提问作者Homer Jay Simpson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:22:38