ggvis条形图由分类变量着色

时间:2016-02-09 13:37:42

标签: r ggvis

我正在尝试制作一个条形图,显示我调查的受访者的男/女比例。假设qual $ Q1.4是包含因子(男性为女性)的数据框的列,我有以下代码:

qual %>% 
  compute_tabulate(~Q1.4) %>% 
  ggvis(x = ~x_, y = ~count_/sum(count_), fill = ~x_) %>% 
  layer_bars() %>%
  add_axis("x", title = "Gender") %>%
  add_axis("y", title = "Percentage", format = "%")

这很有效,但两个条都有100%。如果我删除了填充属性,那么我的条形图具有正确的高度但没有着色。

当我放置一个可变填充属性时,知道为什么y轴停止正常工作吗?

数据看起来像这样: data sample

上面代码的输出如下: output

1 个答案:

答案 0 :(得分:0)

问题实际上是ggvis()中的sum()函数。我添加了一个mutate()步骤(使用dplyr),问题解决了:

qual %>% 
  compute_tabulate(~Q1.4) %>% 
  mutate(percent = count_/sum(count_)) %>%
  ggvis(x = ~x_, y = ~percent,fill=~x_) %>% 
  layer_bars() %>%
  add_axis("x", title = "Gender") %>%
  add_axis("y", title = "Percentage", format = "%")

输出:graph

但仍然不知道为什么它发生在第一位。 ggvis的错误?