R 如何通过单击的标记筛选传单弹出图
当在R闪亮传单应用程序中单击R 如何通过单击的标记筛选传单弹出图,r,ggplot2,shiny,r-leaflet,R,Ggplot2,Shiny,R Leaflet,当在R闪亮传单应用程序中单击addAwesomeMarkers标记时,如何根据addAwesomeMarkers标准过滤ggplot(通过调用popupGraph呈现) 我尝试过过滤renderLeaflet之外的数据,但这会以错误的顺序调用所有内容;我尝试过在popupGraph中进行过滤,但在那里我也没有运气。 我在下面列出了一个简化的例子;单击标记将显示当前所有数据的绘图,目前未尝试过滤。如何通过addawemomemarkers标签中显示的rep_id过滤ggplot 数据只是两个简单的
addAwesomeMarkers
标记时,如何根据addAwesomeMarkers
标准过滤ggplot
(通过调用popupGraph
呈现)
我尝试过过滤renderLeaflet
之外的数据,但这会以错误的顺序调用所有内容;我尝试过在popupGraph
中进行过滤,但在那里我也没有运气。
我在下面列出了一个简化的例子;单击标记将显示当前所有数据的绘图,目前未尝试过滤。如何通过addawemomemarkers
标签中显示的rep_id
过滤ggplot
数据只是两个简单的集合。
10个带ID的地理记录-
销售tbl只是每个代表id的一些快速月度销售
# setup
library(tidyverse)
library(stringi)
library(leaflet)
library(leafpop)
library(lubridate)
library(shiny)
icon.tmz <- makeAwesomeIcon(icon = 'home', markerColor = 'lightblue', library = 'fa', iconColor = 'black')
# rep dataset
repper <- function(){
tibble(
lat = jitter(-26.19, amount = 1.5),
lng = jitter(28.03, amount = 1.5),
) %>%
bind_cols(rep_id = paste0('rep_id_', stri_rand_strings(1, 6, pattern = "[A-Z0-9]")))
}
reps <- repper()
for(i in 1:9){reps <- bind_rows(reps, repper())}
# sales dataset
sales_tbl <- tibble(
month = ymd(),
sales = integer(),
rep_id = character()
)
for(rep in 1:nrow(reps)){
repper <- reps %>% slice(rep)
mnthly_sales <- sample(50000:120000, 12, replace = T)
month_abb <- ymd(paste0('2019/', 1:12, '/01'))
sales_tbl_rep <- tibble(
month = month_abb
) %>%
mutate(sales = mnthly_sales) %>%
mutate(rep_id = repper$rep_id)
sales_tbl <- sales_tbl %>%
bind_rows(sales_tbl_rep)
}
# app
ui <- ui <- bootstrapPage(
leafletOutput('outpt_jbrg')
)
server <- function(input, output, session) {
sales_plot_rctv <- reactive({
sales_tbl %>%
ggplot(aes(month, sales)) +
geom_bar(stat = 'identity', fill = '#126ba6')
})
output$outpt_jbrg <- renderLeaflet({
leaflet(reps) %>%
addTiles() %>%
addAwesomeMarkers(data = reps,
lng = ~ lng,
lat = ~ lat,
label = ~ rep_id ,
icon = icon.tmz,
popup = popupGraph(sales_plot_rctv(),
width = 200,
height = 100
)
)
})
}
shinyApp(ui = ui, server = server)
#设置
图书馆(tidyverse)
图书馆(stringi)
图书馆(单张)
图书馆(leafpop)
图书馆(lubridate)
图书馆(闪亮)
icon.tmz