在闪亮的应用程序中呈现的Plotly图表不会在Google Chrome中加载,而是在Safari中加载

时间:2018-02-20 03:15:31

标签: r shiny plotly

我已经构建了一个快速闪亮的应用程序,它从数据库中获取一些滴答作响的历史时间序列,并使用plotly将它们显示在图表中。由于一个奇怪的原因,图表没有显示在Chrome或Mozilla中,但它似乎在Safari& IE浏览器。我似乎无法在网上找到太多运气。我读过某个地方,说使用UpdateselectInput(),服务器= TRUE,但它没有帮助。我有什么问题吗?

提前感谢您的帮助。

链接到应用:http://13.58.91.231:3838/App/

示例数据:(我的数据更大,过去6个月有超过20种货币,每个货币每天有8个新数据点被添加到数据库中)

Currency        Buy     Sell        Date        exchange_code       saraf
USD     4591        4601        18/02/18 18:37      S1      صرافی ۱
USD     4591        4601        18/02/18 21:29      S1      صرافی ۱
USD     4591        4601        18/02/18 21:30      S1      صرافی ۱
USD     4591        4601        18/02/18 21:31      S1      صرافی ۱
USD     4591        4601        18/02/18 21:32      S1      صرافی ۱
USD     4591        4601        18/02/18 21:33      S1      صرافی ۱
USD     4591        4601        18/02/18 21:34      S1      صرافی ۱
USD     4591        4601        19/02/18 05:00      S1      صرافی ۱
USD     4591        4601        19/02/18 06:00      S1      صرافی ۱
USD     4591        4601        19/02/18 07:00      S1      صرافی ۱
USD     4578        4587        19/02/18 08:00      S1      صرافی ۱
USD     4578        4588        19/02/18 09:00      S1      صرافی ۱
USD     4549        4559        19/02/18 10:00      S1      صرافی ۱
USD     4540        4550        19/02/18 11:00      S1      صرافی ۱
USD     4534        4544        19/02/18 12:00      S1      صرافی ۱
USD     4528        4538        19/02/18 13:00      S1      صرافی ۱
USD     4528        4538        19/02/18 14:00      S1      صرافی ۱
USD     4528        4538        19/02/18 15:00      S1      صرافی ۱
USD     4528        4538        20/02/18 05:00      S1      صرافی ۱
USD     4584        4594        18/02/18 19:53      S2      صرافی ۲
USD     4584        4594        18/02/18 21:29      S2      صرافی ۲
USD     4584        4594        18/02/18 21:30      S2      صرافی ۲
USD     4584        4594        18/02/18 21:31      S2      صرافی ۲
USD     4584        4594        18/02/18 21:32      S2      صرافی ۲
USD     4584        4594        18/02/18 21:33      S2      صرافی ۲
USD     4584        4594        18/02/18 21:34      S2      صرافی ۲
USD     4584        4594        19/02/18 05:00      S2      صرافی ۲
USD     4584        4594        19/02/18 06:00      S2      صرافی ۲
USD     4584        4594        19/02/18 07:00      S2      صرافی ۲
USD     4578        4588        19/02/18 08:00      S2      صرافی ۲
USD     4553        4563        20/02/18 12:00      S2      صرافی ۲
USD     4553        4563        20/02/18 13:00      S2      صرافی ۲
USD     4553        4563        20/02/18 14:00      S2      صرافی ۲
USD     4553        4563        20/02/18 15:00      S2      صرافی ۲
USD     4606        4616        18/02/18 21:21      S3      صرافی ۳
USD     4606        4616        18/02/18 21:29      S3      صرافی ۳
USD     4606        4616        18/02/18 21:30      S3      صرافی ۳
USD     4606        4616        18/02/18 21:31      S3      صرافی ۳
USD     4606        4616        18/02/18 21:32      S3      صرافی ۳
USD     4606        4616        18/02/18 21:33      S3      صرافی ۳

代码:

library(plyr)
library(shiny)
library(dplyr)
library(plotly)
library(rvest)
library(RMySQL)
library(DBI)



# finding and closing active connections
dbListConnections( dbDriver( drv = "MySQL"))  # list active connecitons
# disconnect all function
##SERVER INFO OMMITED
db_kajex <- dbGetQuery(con, "SELECT * FROM kajex;")
db_kajex$Buy<-as.numeric(db_kajex$Buy)/10
db_kajex$Sell<-as.numeric(db_kajex$Sell)/10
db_kajex$exchange_code<-"S1"
db_oxe <- dbGetQuery(con, "SELECT * FROM oxe;")
db_oxe$exchange_code<-"S2"
db_parsi<-dbGetQuery(con, "SELECT * FROM parsi;")
db_parsi$exchange_code<-"S3"
db_data<-c()
db_data<-rbind(db_kajex,db_oxe,db_parsi)
db_data$Buy<-as.numeric(gsub(",", "", db_data$Buy))
db_data$Sell<-as.numeric(gsub(",", "", db_data$Sell))
db_data$saraf<-revalue(db_data$exchange_code,c("S1"="صرافی ۱","S2"="صرافی ۲","S3"="صرافی ۳"))

ui <- fluidPage(
  fluidRow(" "),
  fluidRow(
    column(2,offset=1,radioButtons("buy_sell",em("خرید/ فروش"),
                                   choices = c("خرید"="Buy","فروش"="Sell"), selected="Buy")),
    column(2,checkboxGroupInput("exchange",em("منبع"),
                                choices=c("صرافی ۱"="S1","صرافی ۲"="S2","صرافی ۳"="S3"),
                                selected="S1")),
    column(3, offset=0, selectInput("currency",em("نوع ارز"),
                                    choices = c("USD","EUR","GBP","CAD","AUD"),
                                    selected="USD",
                                    multiple=FALSE,
                                    width=100),
           tags$style(type='text/css',  
                      ".selectize-input { font-size: 10px; line-height: 10px; height: 8px ;vertical-align: middle; text-align: left} .selectize-dropdown { font-size: 10px; line-height: 10px; }")),


    column(4,offset=0, dateRangeInput("DateRange",em("تاریخ-میلادی"),
                                      min=min(as.Date(as.character(db_data$Date))),
                                      max=Sys.Date(),
                                      format = "yyyy/mm/dd",
                                      start=Sys.Date()-1,
                                      end=Sys.Date(),
                                      width=300))
  ),

  hr(),

  fluidRow(
    column(12,plotlyOutput(outputId = "plot1"))
  ),fluidRow(tableOutput("text"))


)


server <- function(input, output, session) {

  dbDisconnectAll()   # disconnect all
  db_kajex <- dbGetQuery(con, "SELECT * FROM kajex;")
  db_kajex$Buy<-as.numeric(db_kajex$Buy)/10
  db_kajex$Sell<-as.numeric(db_kajex$Sell)/10
  db_kajex$exchange_code<-"S1"
  db_oxe <- dbGetQuery(con, "SELECT * FROM oxe;")
  db_oxe$exchange_code<-"S2"
  db_parsi<-dbGetQuery(con, "SELECT * FROM parsi;")
  db_parsi$exchange_code<-"S3"
  db_data<-c()
  db_data<-rbind(db_kajex,db_oxe,db_parsi)
  db_data$Buy<-as.numeric(gsub(",", "", db_data$Buy))
  db_data$Sell<-as.numeric(gsub(",", "", db_data$Sell))
  db_data$saraf<-revalue(db_data$exchange_code,c("S1"="صرافی ۱","S2"="صرافی ۲","S3"="صرافی ۳"))


  filter_table<-reactive({
    db_data%>%
      filter(Currency==input$currency,
             exchange_code %in% input$exchange,
             as.Date(as.character(Date),format="%d/%m/%Y %H:%M:%S")>=input$DateRange[1],
             as.Date(as.character(Date),format="%d/%m/%Y %H:%M:%S")<=input$DateRange[2]
      )%>%
      mutate(Date = format(Date, format = "%d/%m/%Y %H:%M:%S"))%>%
      arrange(desc(Date))

    })



  output$plot1<-renderPlotly({

    plotly_chart<-plot_ly(data=filter_table(),x=~Date,y=~get(input$buy_sell),color=~saraf,
            type = "scatter", mode="lines")%>%
      layout(xaxis=list(title=" ",nticks=4,tickangle = 0,tickformat="%X"),
             yaxis=list(title="تومان",size=10,ntick=4
                        ),
             margin=list(pad=4, b=50,l=75),
             showlegend = TRUE)  

   plotly_chart 
    })
  }

  shinyApp(ui=ui, server=server)

0 个答案:

没有答案