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

如何用ggstats包的gglikert()手动设置x轴范围为±100%?

如何为gglikert图表设置固定的±100% x轴范围

要让gglikert生成的中性居中堆叠条形图的x轴固定在-100%到100%范围,你可以利用ggplot2的scale_x_continuous()来覆盖默认的轴设置——直接用xlim()无效是因为gglikert内部对x轴做了特殊的百分比转换,而scale_x_continuous()可以完整定义轴的范围、刻度和标签。

完整修改后的代码

example_data <- data.frame(
            Pre = as.factor(c("Somewhat Familiar","Unfamiliar","Somewhat Familiar",
                              "Somewhat Unfamiliar","Somewhat Familiar","Unfamiliar",
                              "Neither Unfamiliar or Familiar","Unfamiliar",
                              "Neither Unfamiliar or Familiar","Unfamiliar")),
           Post = as.factor(c("Very Familiar",
                              "Very Familiar","Somewhat Familiar",
                              "Very Familiar","Very Familiar","Very Familiar",
                              "Very Familiar","Somewhat Familiar","Very Familiar",
                              "Somewhat Familiar"))
   )

library(ggstats)
library(ggplot2)

gglikert(example_data, add_totals = FALSE) +
  scale_x_continuous(
    limits = c(-100, 100),  # 强制轴范围为±100%
    breaks = seq(-100, 100, 25),  # 自定义刻度间隔
    labels = paste0(abs(seq(-100, 100, 25)), "%")  # 保持百分比显示格式
  )

关键说明

  • limits = c(-100, 100)会强制x轴延伸到你需要的固定范围,不受数据实际百分比分布影响,能实现多图轴范围统一的需求
  • breaks和labels参数用来匹配gglikert默认的百分比显示风格,你可以根据需要调整刻度间隔(比如改成10%一步)
  • 这个方法完全兼容gglikert的其他格式设置(分面、标签控制等),符合你优先使用gglikert的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 16:30:04