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

ggplot2报错:`mapping`必须由`aes()`创建,求解决方案

解决ggplot绘制主题模型beta值图表的错误

你的代码报错是因为geom_col()的参数写法错误:把控制图例显示的参数写成了show, legend = FALSE,正确的参数名是show.legend。ggplot会误把show当成映射参数,所以抛出了mapping必须由aes()创建的错误。

修正后的代码如下:

beta_top %>%
  mutate(term = reorder_within(term, beta, topic)) %>%
  ggplot(aes(beta, term, fill = factor(topic))) +
  geom_col(show.legend = FALSE) +  # 修正参数名
  facet_wrap(~topic, scales = "free") +  # 替换-~topic为~topic,写法更规范
  scale_y_reordered()

另外补充:facet_wrap(-topic)虽然部分场景能运行,但~topic是更标准的分面变量写法,逻辑更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:31:10