输入选择使用闪亮
我完成了这个闪亮的应用程序,只有第二个应用程序(我认为有很多错误),而且效果不佳。我需要以这种方式使用选择输入:当我选择城市时,我需要到城市和城市服务的客户。因此,如果我选择Novara,我将在地图上看到Genova和Bologna。我在哪里错了?
服务器 库(readxl)
city <- c("Novara", "Novara","Novara","Novara","Brindisi","Brindisi","Brindisi")
client <- c("Genova", "Genova","Bologna","Bologna","Bologna","Empoli","Catania")
dimension <- as.numeric(c("15000", "5000","3000","4600","3400","6700","3400"))
Dati <- data.frame(city,client,dimension)
prov_ita <- rgdal::readOGR("https://raw.githubusercontent.com/openpolis/geojson-italy/master/geojson/limits_IT_provinces.geojson")
shinyServer(
function(input, output, session) {
magazzino <- reactive({
filter(Dati, city == input$magazzino)
})
observeEvent(input$magazzino,{
points <- eventReactive(input$recalc, {
cbind(rnorm(40) * 2 + 13, rnorm(40) + 48)
}, ignoreNULL = FALSE)
options(dplyr.summarise.inform = FALSE)
a <- client
b <- dimension
VendutoPerProvincie<- data.frame(a,b)
VendutoPerProvincie %>%
group_by(a) %>%
summarise(d = sum(b)) %>%
ungroup()
citta_new <- geocode_OSM(unique(Dati$city))
citta.sf <- arrange(citta_new %>% st_as_sf(coords = c("lon", "lat"), crs = 4326))
citta.buffer <- arrange(citta.sf %>% sf::st_buffer(dist = 0))
pal <- colorNumeric("viridis", NULL)
prov_ita@data = data.frame(prov_ita@data,
VendutoPerProvincie[match(prov_ita@data[, "prov_name"],
VendutoPerProvincie[, "a"]),])
output$mymap <- renderLeaflet({
leaflet(prov_ita) %>% addTiles() %>%
addMarkers(data = citta.sf, label = unique(citta_new$query)) %>%
addPolygons(stroke = TRUE, smoothFactor = 0.3, fillOpacity = 1,
fillColor = ~pal(prov_ita$b) , weight = 1, color = "black", label = prov_ita$prov_name)
})
})
})
UI
library(shiny)
library(leaflet)
library(tmaptools)
library(sf)
library(leaflet)
library(readxl)
library(dplyr)
library(DT)
shinyUI (fluidPage(
selectInput("magazzino", "Magazzino_di_Partenza", choices = unique(Dati$client)),
leafletOutput("mymap"),
p(),
)
)
I have done this shiny app, only my second (I think there are a lot errors), and it isn't work well. I need to use select input in this way: when I select city I need to the city and the client the city served. So if I select Novara I will see Genova and Bologna on the map. Where am I wrong?
SERVER
library(readxl)
city <- c("Novara", "Novara","Novara","Novara","Brindisi","Brindisi","Brindisi")
client <- c("Genova", "Genova","Bologna","Bologna","Bologna","Empoli","Catania")
dimension <- as.numeric(c("15000", "5000","3000","4600","3400","6700","3400"))
Dati <- data.frame(city,client,dimension)
prov_ita <- rgdal::readOGR("https://raw.githubusercontent.com/openpolis/geojson-italy/master/geojson/limits_IT_provinces.geojson")
shinyServer(
function(input, output, session) {
magazzino <- reactive({
filter(Dati, city == input$magazzino)
})
observeEvent(input$magazzino,{
points <- eventReactive(input$recalc, {
cbind(rnorm(40) * 2 + 13, rnorm(40) + 48)
}, ignoreNULL = FALSE)
options(dplyr.summarise.inform = FALSE)
a <- client
b <- dimension
VendutoPerProvincie<- data.frame(a,b)
VendutoPerProvincie %>%
group_by(a) %>%
summarise(d = sum(b)) %>%
ungroup()
citta_new <- geocode_OSM(unique(Dati$city))
citta.sf <- arrange(citta_new %>% st_as_sf(coords = c("lon", "lat"), crs = 4326))
citta.buffer <- arrange(citta.sf %>% sf::st_buffer(dist = 0))
pal <- colorNumeric("viridis", NULL)
prov_ita@data = data.frame(prov_ita@data,
VendutoPerProvincie[match(prov_ita@data[, "prov_name"],
VendutoPerProvincie[, "a"]),])
output$mymap <- renderLeaflet({
leaflet(prov_ita) %>% addTiles() %>%
addMarkers(data = citta.sf, label = unique(citta_new$query)) %>%
addPolygons(stroke = TRUE, smoothFactor = 0.3, fillOpacity = 1,
fillColor = ~pal(prov_ita$b) , weight = 1, color = "black", label = prov_ita$prov_name)
})
})
})
UI
library(shiny)
library(leaflet)
library(tmaptools)
library(sf)
library(leaflet)
library(readxl)
library(dplyr)
library(DT)
shinyUI (fluidPage(
selectInput("magazzino", "Magazzino_di_Partenza", choices = unique(Dati$client)),
leafletOutput("mymap"),
p(),
)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论