6

我对闪亮的东西还很陌生,并试图推开一个用情节制作的饼图。单击 runapp 后,呈现的 html 仅包含标题,即“Plotly”

代码如下

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)))
  })

}

运行应用程序后,我确实在查看器中看到了绘图,但它没有出现在它呈现的 HTML 页面中。

4

2 回答 2

8

您正在使用plotly,因此更改renderPlotrenderPlotly

output$plot2 <- renderPlotly({
于 2017-04-21T14:16:26.533 回答
0

您可以plotlyOutput()在 UI 和renderPlotly()服务器上使用。

于 2021-12-02T23:50:25.047 回答