I'm using renderPlotly for my ggplot graph in shiny. when I run the app no errors are shown but no plots are rendered as well. Is there a problem with my code?
Here's an example of my data set
year region     mean_price
  <int> <fct>           <dbl>
1  2007 Central       360769.
2  2007 East          255519.
3  2007 North         218453.
4  2007 North_East    263780.
5  2007 West          233401.
6  2008 Central       429607.
Here's my code
library("shiny")
library("shinythemes")
library('plotly')
ui <-fluidPage(
    theme=shinytheme("superhero"),
    titlePanel("Average Resale Prices "),
    sidebarLayout(
        sidebarPanel(
            selectInput("year","Year", choices = c("All","2007","2008",
                                                   "2009","2010","2011",
                                                   "2012","2013","2014",
                                                   "2015","2016","2017"), selected="All"),
            selectInput("region",'Region',choices=c("All",'North','Central','North-East','West','East'),selected="All"),
            selectInput("type","Flat-Type",choices = c("All","3 ROOM",'4 ROOM',"5 ROOM"),selected = "All"),width = 2
        ),
        mainPanel(
            tabsetPanel(
                tabPanel("Summary", plotOutput(outputId = "lineChart")),
                tabPanel("Breakdown", plotOutput(outputId = "lineChart1")), 
                type="tab"
            )
        )
    )
)
# Define server logic required to draw a line graph ----
server <- function(input, output, session){
    #df1<-reactive({
    #if(input$type =="All"){
    # plotdata1%>%
    #dplyr::filter(flat_type %in% c("3 ROOM","4 ROOM","5 ROOM"))
    #  }
    # else{
    # plotdata1%>%
    # dplyr::filter(flat_type %in% input$type)
    #   }
    # })
    plotdata1<-data1 %>% 
        group_by(year, region) %>% 
        summarize(mean_price=mean(resale_price))
    options(scipen = 100000)
    output$lineChart <- renderPlotly({
        ggplot(data=plotdata1,aes(x=year,y=mean_price))+
            geom_line(stat = 'identity',aes(colour=region,group=region))+
            geom_point()+
            xlim(c(2006,2018))+
            ylab("Average Price")+
            xlab('Year')
})
}
# Create Shiny object
shinyApp(ui = ui, server = server)
                As mentioned above
You need to use ggplotly if you intend to use plotly to render your graph. This also means you need to use plotlyOutput in the ui.
Additionally make sure all the libraries you want to use are installed. I seemed to not get an error message even though shinythemes was not installed... Although this is unlikely.
Below Code Runs for me generating a plotly graph.
library("shiny")
library("shinythemes")
library('plotly')
library("dplyr")
year <- c(2007,2007,2007,2007,2007,2008)
region <- c("central", "East", "North", "North_East", "West", "Central")
resale_price <- c(360769, 255519, 218453, 263780, 233401, 429607)
data1 <- data.frame(year,region,resale_price)
ui <-fluidPage(
  theme=shinytheme("superhero"),
  titlePanel("Average Resale Prices "),
  sidebarLayout(
    sidebarPanel(
      selectInput("year","Year", choices = c("All","2007","2008",
                                             "2009","2010","2011",
                                             "2012","2013","2014",
                                             "2015","2016","2017"), selected="All"),
      selectInput("region",'Region',choices=c("All",'North','Central','North-East','West','East'),selected="All"),
      selectInput("type","Flat-Type",choices = c("All","3 ROOM",'4 ROOM',"5 ROOM"),selected = "All"),width = 2
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Summary", plotlyOutput("lineChart")),
        type="tab"
      ))
  )
)
# Define server logic required to draw a line graph ----
server <- function(input, output, session){
  plotdata1<-data1 %>% 
    group_by(year, region) %>% 
    summarize(mean_price=mean(resale_price))
  options(scipen = 100000)
  output$lineChart <- renderPlotly({
   p <- ggplot(data=plotdata1,aes(x=year,y=mean_price))+
      geom_line(stat = 'identity',aes(colour=region,group=region))+
      geom_point()+
      xlim(c(2006,2018))+
      ylab("Average Price")+
      xlab('Year')
   p <- ggplotly(p)
   p
  })
}
# Create Shiny object
shinyApp(ui = ui, server = server)
Output

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