【问题标题】:Plotly in R: 3D Line Graphs - Preventing One Continuous LineR中的绘图:3D折线图 - 防止一条连续线
【发布时间】:2021-12-31 15:12:38
【问题描述】:

我不熟悉在 R 中使用 Plotly。

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

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

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

当我暗示我认为正确的代码是什么时,我得到一条连续的线(因此上面第一个系列的最后一个值连接到第二个系列的第一个值,等等)。

这是我的结果(你从一个显示“循环”问题的角度来看):

我的代码在这里:

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))

这是我的数据的样子:

我做错了什么?

提前致谢。

【问题讨论】:

  • 你想如何分离数据?第一张图可能有第四个变量用于分隔数据。 (这通常是一个因子字段。)
  • 我希望每一行代表一个群组。
  • @kat 如果我让队列成为一个认为可以解决问题的因素?
  • 不,这不会告诉 plotly 你想要什么。尝试添加到plot_ly 呼叫:transform = list(list(type = 'groupby', groups = ~cohort))
  • @kat - 我按照您在plot_ly 调用中的建议添加了transform,但它不起作用。

标签: r graph 3d plotly


【解决方案1】:

也许您可以尝试使用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)
      )
    )
  )

情节

【讨论】:

    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多