r - 使用 awesomeIcons 更改图标颜色

标签 r icons leaflet

我在使用 awesomeIcons() 时发现了一个医院图标('hospital-o')。但是,该图标原来是黑色的。使用下面的代码,我无法将其颜色更改为白色。

library(dplyr)
library(DT)
library(flexdashboard)
library(leaflet)
library(leaflet.extras)
library(reshape2)
library(shiny)

icons <- awesomeIcons(
          icon = 'hospital-o',
          lib = 'fa',
          markerColor = getColor(DATASET))

其中 getColor() 是以下函数:

  getColor <-
  function(DATASET) {
    sapply(DATASET$VAR, function(VAR) {
    if(VAR == 0 | is.na(VAR) | is.nan(VAR)) {"gray"}
    else if(VAR <= 2){"darkgreen"}
    else if(VAR <= 4){"green"}
    else if(VAR <= 6){"orange"}
    else if(VAR <= 10){"red"}
    else {"darkred"}
    })
  }

颜色函数正在工作(即灰色、绿色、红色、标记)。我已经尝试过这样的事情(并且还实现了颜色代码),但没有结果:

icons <- awesomeIcons(
          icon = 'hospital-o',
          lib = 'fa',
          iconColor = "white",
          markerColor = getColor(DATASET))

虚拟数据

NAME    VAR latitude    longitude
A   1   51.792  4.682
B   12  52.214  6.894
C   6   51.982  5.148

制作 map :

map <- leaflet(DATASET) %>%          
addTiles() %>% 
addAwesomeMarkers(lng = ~longitude, lat = ~latitude, icon = icons, label = ~as.character(DATASET$NAME),
                popup = paste0("<strong>Name: </strong>", DATASET$NAME, "<br>","<strong>VAR: </strong>", DATASET$VAR)) %>% 
     addMarkers(lng = longitude, lat = latitude) %>%
addProviderTiles(providers$nlmaps.pastel, group = "Pastel") %>%
addMiniMap(toggleDisplay = T, minimized = T, position = "bottomright") %>%
addLayersControl(
  baseGroups = c("Pastel"), 
  options = layersControlOptions(collapsed = F), position = "topleft") %>%
       addMarkers(lng = longitude, lat = latitude)

有人可以帮助我吗?提前致谢!

最佳答案

awesomeIcons() 中实现 iconColor = "#FFFFFF" 就可以了!所以代码看起来像这样:

  icons <- awesomeIcons(
  icon = 'hospital-o',
  lib = 'fa',
  iconColor = "#FFFFFF",
  markerColor = getColor(DATASET))

我以为我已经尝试过了。谢谢,MLavoie!

关于r - 使用 awesomeIcons 更改图标颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50794400/

相关文章:

r - 在 R 中返回多个修改参数的最佳方法?

c++ - Visual Studio 中带有 Autos 变量的锁定图标。它表示什么?

css - 在 Leaflet 中使用 CSS 设置 SVG tile 层的样式

javascript - Leaflet.js 如何向 IIFE 函数添加 javascript 插件

r - 从数据框中按组删除异常值的功能

r - ggmap 具有值的热图

r - 关于错误 ":= and ` : =`(...) are defined for use in j, once only and in particular ways. See help(": =")"

c++ - 如何在C++中制作一个图标按钮

android - android 无法设置窗口图标

javascript - 如何使用切换后的 Leaflet 图层组中的标记填充选区