【问题标题】:ggvis bar plot colored by categorical variable分类变量着色的 ggvis 条形图
【发布时间】:2016-02-09 13:37:42
【问题描述】:

我正在尝试制作一个条形图,显示我的调查受访者的男性/女性比例。假设 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

【问题讨论】:

  • 首先,您绘制的是条形图而不是直方图,其次,如果您不共享数据示例,则很难提供帮助。
  • 对不起,我的错。我已经更正了标题并添加了一张关于数据外观和输出的图片以进行澄清。
  • dput()你的数据而不是发布图片,最好多于一列,因为compute_tabulate仅适用于data.frame
  • 我真的认为对于这个特定的问题没有必要。我只使用数据框的这一列,您可以假设所有其他行都采用仅具有这两个值的任何形式。添加更多数据只会使问题更难理解。

标签: r ggvis


【解决方案1】:

问题实际上是 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的bug?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多