2017-04-21 2 views
3

Ich bin ganz neu zu glänzend und versuche, ein Tortendiagramm in plotly zu schieben. Bei den HTML enthält gerendert klicken runapp nur den Titel heißt "Plotly"Shiny zeigt kein Plotplot an

Der Code ist wie unter

UI

library(shiny) 

shinyUI <- fluidPage( 
    titlePanel("Plotly"), 
    mainPanel(
    plotOutput("plot2"))) 

Server

library(shiny) 
library(ggplot2) 
library(ggthemes) 
library(plotly) 
library(shiny) 
library(ggthemes) 
library(RODBC) 
library(magrittr) 

synddb <- odbcConnect("Syndromic", uid="uname", pwd="pwd", believeNRows=FALSE) 
totalcomplaints<-sqlQuery(channel=synddb,query= "select c.siteid,count(c.siteid) number_of_complaints, s.sitefullname from complainttmp c, site s 
          where s.siteid= c.siteid and c.siteid in(1,2,3,4,5,6,7,8, 10,11,19,20) 
          group by c.siteid,s.sitefullname 
          order by c.siteid asc") 


shinyServer <- function(input, output) { 
    output$plot2 <- renderPloty({ 
    print(
     plot_ly(totalcomplaints,labels=paste(totalcomplaints$sitefullname,totalcomplaints$siteid,sep = "-"),values = ~number_of_complaints, type = 'pie', 
       textposition = 'inside', 
       textinfo = 'label+percent+values', 
       insidetextfont = list(color = '#FFFFFF'), 
       hoverinfo = 'text', 
       text = ~paste(number_of_complaints, 'complaints'), 
       marker = list(colors = colors, 
          line = list(color = '#000000', width = 1)), 
       showlegend = T) %>% 
     layout(title = 'Complaints in Percentage', 
       xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE), 
       yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))) 
    }) 

} 

sehe ich die Handlung in der Betrachter, sobald ich die App ausgeführt habe, aber es erscheint nicht in der HTML-Seite, die es rendert.

Danke für die Hilfe!

+0

Arbeiten vor Ort jetzt, aber einmal veröffentlichten er sagt Disconnected vom Server –

Antwort

4

Sie verwenden plotly, so ändern renderPlot mit renderPlotly:

output$plot2 <- renderPlotly({ 
+0

Hallo, ich versuchte, mit renderplotly aber es zeigt immer noch nicht die Diagramm –

+1

In 'UI',' plotlyOutput' anstelle von 'plotOutput' –

+0

Danke, funktioniert lokal jetzt, aber einmal veröffentlicht die Seite wird ausgegraut und sagt vom Server getrennt –