我使用 R 中的 Plotly 包来绘制带有范围 slider 和范围选择器的绘图。
问题是范围 slider 往往会覆盖 x 轴刻度标签。
一个解决方案可能是手动设置 rangeslider 的位置,但我似乎找不到任何关于如何执行此操作的文档。
您可以在下面找到该问题的最小工作示例及其图片。
# Make Some Data:
Dates = as.POSIXct(c("2017-08-08 00:00")) + (0:71)*60^2
Values = rep_len(mtcars$mpg, 72)
tb = dplyr::tibble(Values, Dates)
# Plot
p = tb %>% plot_ly(type = "scatter", mode = 'markers', x = ~Dates, y = ~Values) %>%
layout(xaxis = list(
rangeslider = list(type = "date"),
rangeselector = list(
buttons = list(list(step = "all", label = "All")))
))
p
任何帮助将不胜感激! 干杯,
最佳答案
通过摆弄各种选项/设置,我发现增加刻度长度并让刻度出现在 x 轴的内侧而不是外侧解决了我的问题。
例子见下面的代码
# Make Some Data:
Dates = as.POSIXct(c("2017-08-08 00:00")) + (0:71)*60^2
Values = rep_len(mtcars$mpg, 72)
tb = dplyr::tibble(Values, Dates)
# Plot
p = tb %>% plot_ly(type = "scatter", mode = 'markers', x = ~Dates, y = ~Values) %>%
layout(xaxis = list(ticks = "inside", ticklen = 10,
rangeslider = list(type = "date", thickness=0.1),
rangeselector = list(
buttons = list(list(step = "all", label = "All")))
))
p
但是,这是一个黑客解决方案,我仍在寻找一种方法来设置范围 slider 的位置。
关于R Plotly Rangeslider 覆盖刻度标签 - 是否可以设置 Rangeslider 的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45571313/