gpt4 book ai didi

r - 设置默认放大 plotly

转载 作者:行者123 更新时间:2023-12-03 19:53:46 25 4
gpt4 key购买 nike

我有一个时间序列,我正在 R 中使用 ggplotly 绘图以自动转换我的 ggplot2 图。我的时间序列可以追溯到 20 年前,但是当它出现时,我只希望它显示最近 4 年的数据。我用过

layout(ggplotly_object, xaxis=list(range=c(min_date,max_date)))

这似乎甚至无法限制日期范围,我正在使用 lubridate 进行设置以从最大日期中减去 4 年。

我还没有找到任何关于将绘图的默认缩放更改为有限范围的数据同时仍允许用户缩小和平移到过去数据的文档。任何提示将不胜感激

最佳答案

日期轴以毫秒为单位,因此您需要先转换为该单位。下面是一个例子:

library(plotly)
library(lubridate)

set.seed(42)

# Dummy data
t1 <- ymd_hms("2006-03-14 12:00:00")
t2 <- ymd_hms("2016-03-14 12:00:00")
df <- data.frame(t = seq(t1, t2, by = 'week'),
y = rexp(522, rate = 0.25))

# Full plot
p <- plot_ly(df, x = t, y = y, type = 'scatter')
p

# Now zoom. Needs to be the number of milliseconds since 01/01/1970.
# I'm deliberately using lubridate functions.
min_Date <- ymd_hms("2010-03-14 12:00:00")
min_Date_ms <- interval("1970-01-01 00:00:00", min_Date) / dmilliseconds(1)
max_Date <- ymd_hms("2012-03-14 12:00:00")
max_Date_ms <- interval("1970-01-01 00:00:00", max_Date) / dmilliseconds(1)

p %>% layout(xaxis = list(range = c(min_Date_ms, max_Date_ms)))

可能有一种更优雅的方式来做到这一点,但它应该有效。

关于r - 设置默认放大 plotly ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com