禁用折线图中的X轴排序

时间:2019-09-19 20:19:54

标签: r plotly r-plotly

我有以下简单的data.frame:

x <- data.frame(x = c(1, 3, 5, 2, 4, runif(10)),
                y = c(1, 2, 3, 4, 5, runif(10)))

我想制作一个既显示散点图又用线连接一些点的图,所以我使用:

plot_ly(data = x) %>%
  add_markers(
    x = ~x,
    y = ~y
  ) %>%
  add_lines(
    x = ~x[1:5],
    y = ~y[1:5]
  )

但是,生成的折线图沿x轴排序,而我希望折线遵循data.frame(在下面的红色显示)中找到的顺序。

enter image description here

有什么办法吗?我在SO上发现了类似的问题,但它们都涉及绝对值。

我显然可以使用路径,但据我了解,这些路径仅作为形状存在于layout()中。我希望行为类似于跟踪:响应悬停动作,在图例中显示(并可以隐藏),等等。

1 个答案:

答案 0 :(得分:2)

我刚刚找到了使用add_paths而非add_lines的解决方案。

plot_ly(data = x) %>%
  add_markers(
    x = ~x,
    y = ~y
  ) %>%
  add_paths(
    x = ~x[1:5],
    y = ~y[1:5]
  )

New plot

希望它可以解决您的挑战。