2016-02-09 21 views
0

我正在试图制作一个酒吧情节,显示我调查的受访者的男性/女性比例。假设QUAL $ Q1.4是包含数据框的因素(无论男性女性)的专栏中,我有以下代码:ggvis酒吧根据分类变量着色

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

首先,你正在绘制一个barplot而不是直方图,其次,当你没有分享你的数据的例子时很难提供帮助。 – mtoto

+0

对不起,我的坏。我已更正标题并添加了数据外观以及输出结果的说明。 –

+0

请'dput()'您的数据,而不是张贴图片,最好是多个列,因为'compute_tabulate'只适用于'data.frame'的 – mtoto

回答

0

这个问题实际上原来是内部ggvis总和()()的函数。我加了(使用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的错误?