在闪亮的应用程序中为许多国家/地区加载要在 multi.js 中显示的国家/地区标志
Load countries flags to be displayed in multi.js for many countries in a shiny app
我有下面这个闪亮的应用程序,我在其中创建 multi.js
输入国家名称和国旗。现在矢量国家工作,但 fos 特定国家和名称,例如 de 而不是德国,但是如果我有一个像 countries2
这样的矢量,带有不同的和更多的国家名称怎么办?
library(shiny)
library(shinyWidgets)
countries <- c('de', 'br','gr')
countries2 <- c('Germany', 'Brazil','Greece','Italy')
img_urls <- paste0(
'https://cdn.rawgit.com/lipis/flag-icon-css/master/flags/4x3/',
countries, '.svg'
)
input_widget <- multiInput(
inputId = "Id010",
label = "Countries :",
choices = NULL,
choiceNames = lapply(
seq_along(countries2),
function(i) {
tagList(
tags$img(src = img_urls[i], width = 20, height = 15),
countries2[i]
)
}
),
choiceValues = countries2
)
ui <- fluidPage(
input_widget
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
您可以通过指定 alpha-2 国家/地区代码来拥有更多国家/地区的国旗。通过在 countries
中添加更多 alpha-2 国家代码并在 countries2
中添加它们的名称,它应该适用于您可能想要包括的任何国家/地区。
有多种方法可以获取每个国家/地区的 alpha-2 代码(例如来自 here). Below I'll be getting this info from here,对于所有国家/地区:
countries_df <- read.csv("https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/all/all.csv",strip.white = TRUE)
countries <- tolower(countries_df[,"alpha.2"])
countries2 <- countries_df[,"name"]
之所以可行,是因为您从 here 获取了标志图标,并且每个国家/地区使用的格式是“alpha-2-code.svg”(例如 de.svg 对于德国),因此为了获得图标,您需要这些代码,而不仅仅是国家名称。
这是结合您的代码和我上面所说的结果。
我有下面这个闪亮的应用程序,我在其中创建 multi.js
输入国家名称和国旗。现在矢量国家工作,但 fos 特定国家和名称,例如 de 而不是德国,但是如果我有一个像 countries2
这样的矢量,带有不同的和更多的国家名称怎么办?
library(shiny)
library(shinyWidgets)
countries <- c('de', 'br','gr')
countries2 <- c('Germany', 'Brazil','Greece','Italy')
img_urls <- paste0(
'https://cdn.rawgit.com/lipis/flag-icon-css/master/flags/4x3/',
countries, '.svg'
)
input_widget <- multiInput(
inputId = "Id010",
label = "Countries :",
choices = NULL,
choiceNames = lapply(
seq_along(countries2),
function(i) {
tagList(
tags$img(src = img_urls[i], width = 20, height = 15),
countries2[i]
)
}
),
choiceValues = countries2
)
ui <- fluidPage(
input_widget
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
您可以通过指定 alpha-2 国家/地区代码来拥有更多国家/地区的国旗。通过在 countries
中添加更多 alpha-2 国家代码并在 countries2
中添加它们的名称,它应该适用于您可能想要包括的任何国家/地区。
有多种方法可以获取每个国家/地区的 alpha-2 代码(例如来自 here). Below I'll be getting this info from here,对于所有国家/地区:
countries_df <- read.csv("https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/all/all.csv",strip.white = TRUE)
countries <- tolower(countries_df[,"alpha.2"])
countries2 <- countries_df[,"name"]
之所以可行,是因为您从 here 获取了标志图标,并且每个国家/地区使用的格式是“alpha-2-code.svg”(例如 de.svg 对于德国),因此为了获得图标,您需要这些代码,而不仅仅是国家名称。
这是结合您的代码和我上面所说的结果。