使用ggvis R为直线图创建辅助y轴

使用ggvis R为直线图创建辅助y轴,r,plot,ggvis,R,Plot,Ggvis,这就是我到目前为止在R中的ggvis包 mtcars %>% ggvis(x = ~disp) %>% layer_lines(y = ~wt, stroke := "red") %>% layer_lines(y = ~mpg) %>% add_axis("y", orient = "left", title = "Weight (lb/1000)") %>% add_axis("y", orient = "right",

这就是我到目前为止在R中的ggvis包

    mtcars %>% ggvis(x = ~disp) %>% 
    layer_lines(y = ~wt, stroke := "red") %>%
    layer_lines(y = ~mpg) %>%
    add_axis("y", orient = "left", title = "Weight (lb/1000)") %>%
    add_axis("y", orient = "right", title= "Miles/(US) gallon") %>%
    add_axis("x", title = "Displacement (cu.in.)")
我无法获得左Y轴来表示wt比例数据

这将产生:


我假设您想要左y轴(即wt)除以1000:

library(dplyr) #you need this library
mtcars  %>% mutate(wt_scaled=wt/1000)  %>% ggvis(x = ~disp) %>% #use mutate from dplyr to add scaled wt
  layer_lines(y = ~wt_scaled, stroke := "red") %>% #use new column
  add_axis("y", orient = "left", title = "Weight (lb/1000)" ,title_offset = 50) %>% #fix left axis label
  scale_numeric("y", domain = c(0, 0.006), nice = FALSE) %>% #align the ticks as good as possible
  add_axis("y", 'ympg' , orient = "right", title= "Miles/(US) gallon" , grid=F ) %>% #remove right y axis grid and name axis
  layer_lines( prop('y' , ~mpg,  scale='ympg') ) %>% #use scale to show layer_lines which axis it should use
  add_axis("x", title = "Displacement (cu.in.)"  )
我想这就是你想要的:

编辑

如果您只是想在左y轴上绘制wt(不是很清楚),那么请执行
变异(wt_scaled=wt/1)
(或删除变异),并将域更改为
域=c(1.5,5.5)