【问题标题】:r combine ggRadar and facet_wrapr 结合 ggRadar 和 facet_wrap
【发布时间】:2017-05-11 16:10:24
【问题描述】:

下面的代码说明了我的问题。我想在 ggiraphExtra 中使用 ggRadar 函数,因为它允许与图形交互。我希望每种营养素都有一个单独的蜘蛛图,并且我希望每个蜘蛛图每年都有一组单独的连接点。据我所知,在 ggRadar 中,代码 mapping = aes(colour = year) 是每年给出不同点的原因。在 facet_wrap 中,代码 facet_wrap(~ nutrient) 决定了有多少单独的蜘蛛图。

require(ggiraphExtra)
require(ggplot2)
spiderData <- data.frame(year = c("2010", "2010", "2010", "2010", "2030", "2030", "2030", "2030", "2050", "2050", "2050", "2050"), 
                         beverages = c(0.07, 0.02, 0.02, 0.04, 0.09, 0.02, 0.03, 0.06, 0.15, 0.03, 0.05, 0.09), 
                         dairy = c(8.2, 6.46, 5.78, 0, 9.1, 7.16, 6.42, 0, 11.7, 9.21, 8.25, 0), 
                         fish = c(0, 0.01, 0.03, 0, 0, 0.02, 0.05, 0, 0, 0.05, 0.16, 0), 
                         nutrient = c("carbohydrate", "fat", "protein", "total_fiber", "carbohydrate", "fat", "protein", "total_fiber", "carbohydrate", "fat", "protein", "total_fiber"), stringsAsFactors = FALSE)
p <- ggRadar(data = spiderData, mapping = aes(colour = year), 
             rescale = FALSE, interactive = FALSE, use.label = TRUE, size = 2,
             legend.position = "right") + facet_wrap(~ nutrient)
p

此代码产生以下错误消息。

combine_vars 中的错误(数据,params$plot_env,vars,drop = params$drop) : 至少一层必须包含用于分面的所有变量

感谢您提出修复建议!

【问题讨论】:

    标签: r ggplot2 radar-chart


    【解决方案1】:

    如果有人需要它供参考:只需在代码中指定 mapping 时添加参数 facet=nurtient

    require(ggiraphExtra)
    require(ggplot2)
    spiderData <- data.frame(year = c("2010", "2010", "2010", "2010", "2030", "2030", "2030", "2030", "2050", "2050", "2050", "2050"), 
                         beverages = c(0.07, 0.02, 0.02, 0.04, 0.09, 0.02, 0.03, 0.06, 0.15, 0.03, 0.05, 0.09), 
                         dairy = c(8.2, 6.46, 5.78, 0, 9.1, 7.16, 6.42, 0, 11.7, 9.21, 8.25, 0), 
                         fish = c(0, 0.01, 0.03, 0, 0, 0.02, 0.05, 0, 0, 0.05, 0.16, 0), 
                         nutrient = c("carbohydrate", "fat", "protein", "total_fiber", "carbohydrate", "fat", "protein", "total_fiber", "carbohydrate", "fat", "protein", "total_fiber"), stringsAsFactors = FALSE)
    p <- ggRadar(data = spiderData, mapping = aes(colour = year, facet=nutrient), 
             rescale = FALSE, interactive = FALSE, use.label = TRUE, size = 2,
             legend.position = "right")
    p
    
    > devtools::session_info()
    version  R version 3.4.4 (2018-03-15)
    ggplot2      * 3.0.0   2018-07-03 cran (@3.0.0)
    ggiraphExtra * 0.2.9   2018-07-22 CRAN (R 3.4.4)  
    

    编辑:删除facet_wrap

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2021-12-06
      • 2010-11-25
      相关资源
      最近更新 更多