如何用R语言mschart包创建折线+柱状组合图?代码报错求助
解决mschart组合折线+柱状图的报错问题
问题原因
你直接在ms_linechart()的结果后链式调用ms_barchart(),这会把折线图对象而非原始数据框传给ms_barchart(),导致函数无法识别数据里的qsec列,误判其类型。
修正方案
mschart创建组合图的正确方式是:先创建基础图表(比如折线图),再用ms_add_series()方法添加另一种类型的系列(柱状图),并指定系列的类型为bar。
修正后的代码:
library(tidyverse) library(mschart) # 预处理数据 mtcars_tbl <- mtcars %>% as_tibble(rownames = "car") # 创建折线图作为基础,再添加柱状系列 mtcars_tbl %>% ms_linechart(x = "car", y = "mpg") %>% ms_add_series(y = "qsec", type = "bar") %>% print(preview = TRUE)
代码说明
- 先把数据预处理成带车型名称的 tibble,单独存储更清晰
ms_linechart()创建基础折线图,指定x轴为车型,y轴为mpgms_add_series()添加qsec列的系列,通过type = "bar"指定为柱状图类型- 最后用
print(preview = TRUE)预览生成的组合图表
这样就能成功生成mpg折线+qsec柱状的组合图了。
内容的提问来源于stack exchange,提问作者zimia
相关产品推荐
相关产品推荐

