R 中的 Plotly:3D 线图 - 防止出现一条连续线

问题描述 投票:0回答:1

我刚开始在 R 中使用 Plotly。

我正在尝试构建 3d 折线图。

我正在尝试实现一个如下所示的图表:

enter image description here

以上是我的目标,但我似乎无法实现它。

当我实现我认为正确的代码时,我得到一个连续的行(因此上面第一个系列行的最后一个值连接到第二个系列的第一个值,依此类推)。

这是我的结果(您正在从显示“循环”问题的角度查看):

enter image description here

我的代码在这里:

fig <- plot_ly(df_cohort_master, y = ~ord_month, x = ~cohort, z = ~conversions, 
                  type = 'scatter3d', mode = 'lines',color=~conversions) %>%
                  layout(
                    scene= list(
                      xaxis = list(autorange = "reversed"),
                      yaxis = list(autorange = "reversed")))

suppressWarnings(print(fig))

这是我的数据:

enter image description here

我做错了什么?

提前致谢。

r graph 3d plotly
1个回答
3
投票

也许您可以尝试使用

split
根据您的
cohort
分成多个轨迹。

这是一个根据您的帖子编写数据的示例。

library(plotly)

set.seed(123)

df_cohort_master <- data.frame(
  cohort = rep(1:4, times = 5),
  ord_month = rep(1:4, each = 5),
  conversions = sample(20, 20)
)

plot_ly(df_cohort_master,
        x = ~cohort, 
        y = ~ord_month, 
        z = ~conversions, 
        type = 'scatter3d', 
        mode = 'lines',
        split = ~cohort) %>%
  layout(
    title = "3D Scatter plot", 
    scene = list(
      camera = list(
        eye = list(x = 1, y = 2, z = 2)
      )
    )
  )

剧情

3d plot with multiple traces

© www.soinside.com 2019 - 2024. All rights reserved.