gpt4 book ai didi

r - 如何以 Shiny 的方式正确输出 Plotly 图?

转载 作者:行者123 更新时间:2023-12-03 23:22:15 25 4
gpt4 key购买 nike

我正在尝试根据纽约犯罪历史数据制作一个 Shiny 的应用程序。我正在使用单个 Shiny 页面方法。这是数据:https://data.world/data-society/nyc-crime-data

出于某种原因,当我选择年份来输出犯罪统计数据时,我的输出仅在 RStudio 的查看器中输出,而不是在 Shiny 弹出窗口的主面板上。这是完整的代码:

# Shiny App exploring New York City Crime Data between 2006-2016
# Data Source: https://data.world/data-society/nyc-crime-data

#########################Global Data######################

# Data Reading
set.seed(123)
library("shiny")
library("lubridate")
library("plotly")
nypd<-read.csv("NYPD_Complaint_Data_Historic.csv")

#Data Massaging
nypd$year<-year(as.Date(nypd$RPT_DT,'%m/%d/%Y'))
nypd$month<-month(as.Date(nypd$RPT_DT,'%m/%d/%Y'))
nypd<-nypd[nypd$OFNS_DESC != "",]
nypd2<-nypd[,c(1,6,8,14,16,17,22,23,25,26)]

ui<-fluidPage(
titlePanel("New York City Crime Data from 2006-2016"),
sidebarLayout(
sidebarPanel(
sliderInput("year","Year of Crime",min=2006,max=2016,value=2008,step = 1)
),
mainPanel(plotOutput("crimeplot"))
)
)


server<-function(input,output){
output$crimeplot<-renderPlot({

nypd_yr_sorted<-nypd2[nypd2$year==input$year,]
agg_data<- aggregate(nypd_yr_sorted$CMPLNT_NUM,by=list(nypd_yr_sorted$OFNS_DESC),FUN=functi on(x)length(unique(x)))
colnames(agg_data)<-c("Crime","Crime count")
bar_data<-agg_data[order(agg_data$`Crime count`, decreasing = TRUE),][1:5,]
plot_ly(bar_data,x=~Crime,y=~`Crime count`,type="bar",color = ~Crime) %>% layout(xaxis= list(showticklabels = FALSE))
})

}

shinyApp(ui = ui, server = server)

最佳答案

绘图图表使用 plotlyOutput() 呈现和 renderPlotly() .需要对代码进行两处更改:

  • 更改 mainPanel()mainPanel(plotlyOutput("crimeplot"))
  • 更改 output$crimeplotoutput$crimeplot<-renderPlotly({

  • ...和输出:

    enter image description here

    关于r - 如何以 Shiny 的方式正确输出 Plotly 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017341/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com