禁用折线图中的 x 轴排序

Disable x-axis sorting in line chart

我有以下简单的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 中找到的顺序(下面以红色显示)。

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

我显然可以使用路径,但据我了解,这些路径仅作为 layout() 中的形状存在。我希望有一些表现得像痕迹的东西:响应悬停动作,出现(并且可以隐藏)在图例中,等等。

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

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

希望它能解决您的难题。