R图:子图仅显示底部图

R图:子图仅显示底部图,r,r-plotly,R,R Plotly,我想为mtcars数据重现中的“缩放子地块” mtcars %>% transform(id = as.integer(factor(am))) %>% plot_ly(x = ~mpg, y = ~qsec, color = ~factor(vs), yaxis = ~paste0("y", id)) %>% add_markers() %>% subplot(nrows = 2, shareX = TRUE) 仅显示底部子批次: 我认为我确实忠实地

我想为
mtcars
数据重现中的“缩放子地块”

mtcars %>%
  transform(id = as.integer(factor(am))) %>%
  plot_ly(x = ~mpg, y = ~qsec, color = ~factor(vs), yaxis = ~paste0("y", id)) %>%
  add_markers() %>%
  subplot(nrows = 2, shareX = TRUE)
仅显示底部子批次:

我认为我确实忠实地复制/翻译了代码,但一定是出了什么问题。 值得注意的是,子批次区分
am
,而颜色区分
vs
。 我尝试了子批次和颜色的
am

mtcars %>%
  transform(id = as.integer(factor(am))) %>%
  plot_ly(x = ~mpg, y = ~qsec, color = ~am, yaxis = ~paste0("y", id)) %>%
  add_markers() %>%
  subplot(nrows = 2, shareX = TRUE)
这没有多大帮助,但出现了两个网格: 在后一个示例中,我希望
am==0
(蓝色)点位于顶部子批次中

有什么建议吗

packageVersion('plotly')
[1] ‘4.9.0’

好的,通过这种方式您可以这样做,但必须创建两个绘图,然后使用
subplot()

以下是输出:


谢谢你的建议(很抱歉迟到了)。然而,我的目标是在y轴上显示
qsec
。您似乎无法打印它,因为您已使用
选择将其删除。不完全是。。。你正在绘制的是两个图上完全相同的点,有不同的颜色,对吗?我想要的是:上面,
am
为0的汽车;下面是
am
为1的车辆。我明白了吗?我的错,我忘了使用
filter()
也许可以,但我还不知道怎么做。
p1 = mtcars %>%
      filter(am==0) %>%
      plot_ly(x = ~mpg, y = ~qsec, color = ~vs, legendgroup = "am0", name = "0",
          type = "scatter" , mode = "markers", showlegend = FALSE)

p2 = mtcars %>%
      filter(am==1) %>%
      plot_ly(x = ~mpg, y = ~qsec, color = ~vs, legendgroup = "am1", name = "1",
          type = "scatter" , mode = "markers")

subplot(p1,p2,nrows = 2, shareX = TRUE, titleY = TRUE, which_layout = 1)