2016-10-12 6 views
1

私はggvis boxplotを持っており、いくつかの値をドットにマップしようとしています(例えば、異なるsize)。どうすればいい?これまでのところ、私はこのような何かを持っているが、二つの層のいずれも適切に、x軸上のカテゴリに整列されていない:layer_boxplotsでのみドットの属性を制御する方法は?

mtcars %>% 
    ggvis(x = ~factor(cyl), y= ~disp) %>% 
    layer_boxplots(size:=0) %>% 
    layer_points(size := 10) 

enter image description here

UPDATE:

私は気づきました箱ひげ図との整合の問題は、私はちょうどそこにプロットしてもであることをlayer_boxplots

mtcars %>% mutate(cyl=as.factor(cyl)) %>% 
    ggvis(x = ~cyl, y= ~disp) %>% 
    layer_boxplots() 

しかし、ggvisがその理由を理解できない

+1

? – lukeA

+0

@lukeAありがとう、私は2つのレイヤーを整列するための私の答えはhttps://github.com/rstudio/ggvis/issues/242を見つけましたが、まだグリッドを整列できません – Dambo

答えて

0

因子軸上にボックスプロットセンターを並べるには、引数をscale_nominalに使用できます。

library(dplyr) 
library(ggvis) 

mtcars %>% 
    mutate(cyl = factor(cyl)) %>% 
    ggvis(x = ~cyl, y= ~disp) %>% 
    layer_boxplots(size:=0) %>% 
    scale_nominal("x", name = "xcenter", padding = .9) 

あなたはlinked github issueで見たように、並んでポイントを得るためにscale = "xcenter"propを使用しています。 https://github.com/rstudio/ggvis/issues/366に関連

mtcars %>% 
    mutate(cyl = factor(cyl)) %>% 
    ggvis(x = ~cyl, y= ~disp) %>% 
    layer_boxplots(size:=0) %>% 
    layer_points(size := 10, prop("x", ~cyl, scale = "xcenter")) %>% 
    scale_nominal("x", name = "xcenter", padding = .9) 

enter image description here

関連する問題