Plotly多图面板

4

我想要做出每个图表有两个坐标轴的多图展示,就像这样:

library(plotly)
ay <- list(
  tickfont = list(color = "green"),
  overlaying = "y",
  side = "right", title = "y2 axis title"
)


par(mfrow=c(2,1))
ax <-list(title = "x axis title")
ay1 <-list(title = "y1 axds title")
plot_ly(x = 1:3, y = 10*(1:3), name = "slope of 10") %>%
  add_trace(x = 2:4, y = 1:3, name = "slope of 1", yaxis = "y2") %>%
  layout(title = "Double Y Axis", yaxis2 = ay, xaxis = ax, yaxis = ay1) 


 ax <-list(title = "x axis title")
 ay1 <-list(title = "y1 axds title")
 plot_ly(x = 1:3, y = 10*(1:3), name = "slope of 10") %>%
   add_trace(x = 2:4, y = 1:3, name = "slope of 1", yaxis = "y2") %>%
   layout(title = "Double Y Axis", yaxis2 = ay, xaxis = ax, yaxis = ay1) 

但是当你运行这段代码时,你仍然只能看到一个图。 plotly可以做多个图吗?它可以在两个轴上进行细分吗?


你是想在同一页上绘制这两个(相同的)图吗? - Sumedh
是的。我希望它们能够一个在另一个上面显示。但是最好能够使用plotly的facet_wrap。这可能吗? - user3022875
缺失数据:当向子图提供双轴多个跟踪时。 - M--
1个回答

3
你正在寻找 `subplot`。请访问此页面获取更多信息。
library(plotly)
ay <- list(
    tickfont = list(color = "green"),
    overlaying = "y",
    side = "right", title = "y2 axis title"
)

ax <-list(title = "x axis title")
ay1 <-list(title = "y1 axds title")   

 subplot(
        plot_ly(x = 1:3, y = 10*(1:3), name = "slope of 10") %>%
            add_trace(x = 2:4, y = 1:3, name = "slope of 1", yaxis = "y2") %>%
            layout(title = "Double Y Axis", yaxis2 = ay, xaxis = ax, yaxis = ay1), 
        plot_ly(x = 1:3, y = 10*(1:3), name = "slope of 10") %>%
            add_trace(x = 2:4, y = 1:3, name = "slope of 1", yaxis = "y2") %>%
            layout(title = "Double Y Axis", yaxis2 = ay, xaxis = ax, yaxis = ay1), nrows = 2)

输出结果

在这里输入图片描述


(请注意,这是一张图片,无法翻译。)

当我运行上述代码时,图形未显示。我还在最后一行中的“ay1”后面删除了“)”符号。 - user3022875
我发布了当我运行完全相同的代码时获得的输出。我正在使用 plotly_3.6.0ggplot2_2.1.0 - Sumedh
试试这个:将你的第一个 plot_ly 图形分配给 a,第二个分配给 b。然后运行 subplot(a,b, nrow=2)。现在图形出现了吗? - Sumedh
@user3022875,您是否在查看器窗格中进行检查?plotly绘图不会显示在绘图窗格中。 - Sumedh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接