我在 R 中使用 Plotly 包来制作一个带有范围滑块和范围选择器的图。
问题是范围滑块倾向于覆盖 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
然而,这是一个黑客解决方案,我仍在寻找一种方法来设置 Rangeslider 的位置。
关于R Plotly Rangeslider 涵盖刻度标签 - 是否可以设置 Rangeslider 的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45571313/