如何使用plotly in R在时间序列中绘制多个序列/线?
我有一个几年的时间序列,我需要在x轴上绘制mm/dd,在y轴上使用plot\ly绘制多年。我在这里生成了一个示例数据:如何使用plotly in R在时间序列中绘制多个序列/线?,r,ggplot2,time-series,plotly,timeserieschart,R,Ggplot2,Time Series,Plotly,Timeserieschart,我有一个几年的时间序列,我需要在x轴上绘制mm/dd,在y轴上使用plot\ly绘制多年。我在这里生成了一个示例数据: date<-seq(as.Date("2010-11-22"),as.Date("2016-05-26"),by ="days") sales = runif(2013, 2000, 6000) df = data.frame(date,sales) 现在,我尝试使用plot\u ly绘制多个y轴: plot_ly(df, x = ~date) %>% add_
date<-seq(as.Date("2010-11-22"),as.Date("2016-05-26"),by ="days")
sales = runif(2013, 2000, 6000)
df = data.frame(date,sales)
现在,我尝试使用plot\u ly
绘制多个y轴:
plot_ly(df, x = ~date) %>% add_lines(y = ~sales,
df$date <= "2010-12-31",color=I("red")) %>%
add_lines(y = ~sales, df$date <= "2013-12-31" &
df$date >= 2013-01-01, color = I("green"))
plot\u ly(df,x=~date)%>%添加线(y=~sales,
df$日期%
添加_行(y=~销售额,df$date=2013-01-01,颜色=I(“绿色”))
但我搞错了情节:
那有什么错
我想要这样的情节:
要在同一个图形上创建不同的线,我们必须使用
plotly::group_by
将df
分成一组。在您的情况下,这是通过使用lubridate
按年份分割来实现的:
library(plotly)
library(lubridate)
date <- seq(as.Date("2010-11-22"), as.Date("2016-05-26"), by = "days")
# Add some variations to distinguish lines
sales <- runif(2013, 10, 20) + year(date) * 5 + yday(date) / 5
df <- data.frame(date, sales)
df %>%
mutate(year = year(date)) %>%
group_by(year) %>%
plot_ly(x = ~ yday(date)) %>%
add_lines(y = ~ sales,
color = ~ factor(year)
)
library(plotly)
图书馆(lubridate)
日期%
绘图(x=~yday(日期))%>%
添加_行(y=~销售额,
颜色=~系数(年)
)
你指的是多个系列(而不是y轴);对吗?就像上一张图片一样,x轴上的mm/dd与每年不同颜色的销售额。你能在x轴上绘制mm/dd而不是日数吗?你能看看我的问题吗?谢谢!
library(plotly)
library(lubridate)
date <- seq(as.Date("2010-11-22"), as.Date("2016-05-26"), by = "days")
# Add some variations to distinguish lines
sales <- runif(2013, 10, 20) + year(date) * 5 + yday(date) / 5
df <- data.frame(date, sales)
df %>%
mutate(year = year(date)) %>%
group_by(year) %>%
plot_ly(x = ~ yday(date)) %>%
add_lines(y = ~ sales,
color = ~ factor(year)
)