如何在plot_ly中在x轴上绘制每年的周数。(R语言)

时间:2018-02-21 06:53:10

标签: r plot shiny plotly

我有一个数据集如下:

enter image description here

我想在X轴上绘制实际和拟合的X轴,它将显示周和年。

我创建了一个名为Year_Week的新变量,并尝试绘制它,因为x轴采用升序数据。数据正确绘制,但我正在努力寻找X轴的命名。

enter image description here

这是我正在使用的plot_ly代码。

output$plot_forecast <- renderPlotly({
data <- forecast_data()
plot <- plot_ly(data, type = "scatter", mode = 'lines') %>% 
  add_lines(x = ~ data$year_week, 
            y = ~ data$actual, 
            name ="Actual",
            line=list(color="Red")) %>%
  add_lines(x = ~ data$year_week, 
            y = ~ data$fitted, 
            name ="Predicted",
            line=list(color="Green")) %>%
  layout(title = "Total Sales (Actual vs Predicted)",
         xaxis = list(title = "Year Week"),
         yaxis = list (title = "Total POS Sales"),
         legend = list(x = 100, y = 0.5))
return(plot) })

x轴目前显示201.49K表示2014年第9周,201.53K表示2015年第3周。

我需要x轴比这些数字更好。

1 个答案:

答案 0 :(得分:1)

你是如何在ggplot中做的,有点工作:

    df$YearWeek=paste(df$Year,"Week",df$Week,sep="_")
df0=df%>%select(YearWeek,Actual,Fitted)%>%melt(id.vars="YearWeek")
ggplot(df0,aes(x=YearWeek,y=value,col=variable,group=variable))+geom_line()+
  theme(axis.text.x = element_text(angle = 45))

enter image description here