GGVIS-条形图的交互X轴 [英] ggvis - Interactive X axis for bar chart
本文介绍了GGVIS-条形图的交互X轴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在考虑用ggvis构建一个闪亮的应用程序。 为此,我使用了一个名为"COMPANY"的小数据集。它包含员工数据,其中每行表示和员工。
从ggvis的角度来看,我正在尝试以下操作: 创建显示以下变量分布的条形图:
- 年龄
- 角色
- 性
而不是使用以下代码创建三个不同的条形图:
#Barcharts - Role
company %>% ggvis(~Role,opacity := 0.8, fill:= "firebrick") %>%
layer_bars() %>%
scale_ordinal('x', domain=c('Analyst','Consultant','Software Engineer','Manager','Director'))
#Barcharts - Age
company %>% ggvis(~Age,opacity := 0.8, fill:= "firebrick") %>%
layer_bars()
#Barcharts - Sex
company %>% ggvis(~Sex,opacity := 0.8, fill:= "firebrick") %>%
layer_bars()
我要创建允许输入选择器的ggvis条形图。
我尝试过以下代码:
company %>% ggvis(input_select(c("Sex","Role","Age"), map = as.name)) %>% layer_bars()
返回以下错误:
Error: Visual property x.update is not a variable
使用的数据为:
raw <- "Age Sex Role
35 M Director
37 M Director
30 M Manager
28 M Manager
28 F Manager
27 M Software_Engineer
25 M Consultant
26 M Consultant
25 F Analyst
25 M Analyst
25 M Analyst
25 M Analyst
25 M Analyst
25 M Analyst
25 F Analyst
25 F Analyst
25 F Analyst
24 F Analyst
25 M Analyst"
company = read.table(textConnection(raw), header=TRUE)
这让我相信ggvis不允许x变量作为输入选择器项。这是对的吗?有解决此问题的方法吗?
提前谢谢您。 致以亲切的问候
推荐答案
首先您需要melt
您的数据。框架如下:
library(reshape2)
company <- melt(company, measure.vars=c('Role','Age','Sex'))
然后以下内容对我起了作用:
#Barcharts - Age
company %>% ggvis(~value, opacity := 0.8) %>%
#use filter to pick only the category you want
filter(variable == eval(input_select(choices=c('Role','Age','Sex')))) %>%
layer_bars()
我无法上传互动版本,但情节如下:
您可以选择您喜欢的类别
这篇关于GGVIS-条形图的交互X轴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文