创建华夫饼图时出错 - 无法强制对象

Error when creating waffle chart - object cannot be coerced

正在尝试使用以下矢量制作简单的 waffle 图表 pie:

  rideable_type number_of_trips
  <ord>                   <dbl>
1 Classic                    58
2 Electric                   36
3 Docked                      6

我使用的函数是:

waffle(pie, rows=6)

此函数returns出现以下错误:

Error in FUN(X[[i]], ...) : 
  'list' object cannot be coerced to type 'double'

我确定错误是因为 rideable_typecharacters,因为当我 运行:

waffle(pie$number_of_trips, rows=6)

它 运行 很好,但是图例名称是 ABC。我只想让图例对应于 rideable_type。我确定我可以手动执行此操作……但这似乎没有必要。谢谢。

第一个参数需要是一个命名向量,所以你可以这样做:

waffle(setNames(df$number_of_trips, df$rideable_type), rows = 6)

我发现我可以使用 setNames 来解决问题:

pie <- setNames(pie$number_of_trips, c('Classic','Electric','Docked'))
waffle(pie, rows=5, legend_pos='bottom')

生产我需要的东西:

我意识到 waffle 认为我的矢量未命名。我相信该函数会自动使用第一列。仍然不确定 waffle 没有,但这解决了我的问题。