代码之家  ›  专栏  ›  技术社区  ›  Jonathan Livingston Seagull

Plotly GGplot-plot响应

  •  1
  • Jonathan Livingston Seagull  · 技术社区  · 6 年前

    使用just ggplot 提供所需的结果,但我想使用 plotly ,但当我这样做时,这个数字没有反应。

    有什么可以解决的办法吗?代码如下。我真的很感谢你的帮助!

    library(dplyr)
      library(ggplot2)
      library(lubridate)
          library(plotly)
        df <- data.frame(matrix(c("2017-09-04","2017-09-05","2017-09-06","2017-09-07","2017-09-08",103,104,105,106,107,17356,18022,17000,20100,15230),ncol = 3, nrow = 5)) 
        colnames(df) <- c("DATE","ORDER_ID","SALES")
        df$DATE <- as.Date(df$DATE, format = "%Y-%m-%d")
        df$SALES <-  as.numeric(as.character(df$SALES))
        df$ORDER_ID <-  as.numeric(as.character(df$ORDER_ID))
    
        TOTALSALES <- df %>% select(ORDER_ID,DATE,SALES) %>% mutate(weekday = wday(DATE, label=TRUE)) %>%  mutate(DATE=as.Date(DATE)) %>% filter(!wday(DATE) %in% c(1, 7) & !(DATE %in% as.Date(c('2017-01-02','2017-02-27','2017-02-28','2017-04-14'))) ) %>% group_by(day=floor_date(DATE,"day")) %>% summarise(sales=sum(SALES)) %>% data.frame()
    
     TOTALSALES <- ggplot(TOTALSALES ,aes(x=day,y=sales,text=paste('Vendas (R$):', format(sales,digits=9, decimal.mark=",",nsmall=2,big.mark = "."),'<br>Data: ',format(day,"%d/%m/%Y"))))+ geom_point(colour = "black", size = 1)+stat_smooth() +labs(title='TOTAL SALES',x='dias',y='valor')+ scale_x_date(date_minor_breaks = "1 week")
    m <- list(
      l = 120,
      r = 2,
      b = 2,
      t = 50,
      pad = 4
    )
    TOTALSALES <- ggplotly(TOTALSALES,tooltip = c("text")) %>% config(displayModeBar = F) %>% layout(autosize = F, width = 1000, height = 500, margin = m,xaxis = list(
          zeroline = F
        ),
        yaxis = list(
          hoverformat = '.2f'
        ))
    
    TOTALSALES
    
    0 回复  |  直到 6 年前