I'm fairly new to shiny and trying to push over a pie chart made in plotly. Upon clicking runapp the html rendered only contains the Title i.e. "Plotly"
The code is as under
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)))
})
}
I do see the plot in the viewer once I run the App but it doesn't appear in the HTML page that it renders.
You are using plotly
, so change renderPlot
with renderPlotly
:
output$plot2 <- renderPlotly({
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With