控制哪些刻度线/标签出现在 plotly 的 x 轴上?

Control which tick marks / labels appear on x-axis in plotly?

我想控制在 x 轴上显示哪些刻度线。以下代码将刻度线放置在 5 的序列中(在 5、10、15 ... 30)

library(plotly)

df <- data.frame(x =  1:30,
                 y = sample(100:300, size = 30, replace = T))

p <- plot_ly(data = df, x = x, y = y, type = 'line') %>%
      layout(title = 'Example plot')
p

我需要将它们按 6、12、18、24、30 的顺序排列。我一直在浏览文档,但似乎找不到我需要的东西。在 ggplot2 中,这可以通过 scale_x_continuous(breaks=c(6,12,18,24,30) 完成。

您可以使用 style 添加刻度:

p <- plot_ly(data = df, x = x, y = y, type = 'line') %>%
    layout(title = 'Example plot', xaxis = list(autotick = F, dtick = 6))
p

这里还有一些例子:https://plot.ly/r/axes/

如果你需要不均匀的间距你可以使用tickvals,它需要tickmode = "array"如下

%>%
  layout(xaxis = list(autotick = F, tickmode = "array", tickvals = c(6,12,24)))