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
相关产品推荐
相关产品推荐

