1

我正在尝试将冰球插入我的ggplot. 在 font awesome 上,我发现了一个 hockey puck图标。我希望ggimage::geom_icon可以导入字体真棒图标,但不幸的是它没有:

library(ggimage)

set.seed(2017-02-21)
d <- data.frame(x = rnorm(10),
                y = rnorm(10),
                icon = "hockey-puck")
ggplot(d, aes(x,y)) + geom_icon(aes(image=icon))
Error in download_url(path) : 
  Failed to download https://raw.githubusercontent.com/ionic-team/ionicons/master/src/svg/hockey-puck.svg (HTTP 404)

有谁知道在哪里可以找到图标。我知道有这个在线小插图,但它没有指定ios-power', 'ios-wifi', 'ios-pie'来自哪里。

4

1 回答 1

0

ggimage::list.icon函数使用查找 png 文件的辅助函数。这真的没用,因为图标是 svg 文件。下面是供未来用户使用的修改版本。

list_images <- function (url, filetype = "svg") 
{
  x <- readLines(url)
  y <- x[grep(paste0("title=\"[a-zA-Z0-9\\-]+\\.", filetype), x)]
  sub(paste0(".*title=\"([a-zA-Z0-9\\-]+)\\.",filetype, ".*"), "\\1", y)
}

list_icon <- function(){
  list_images("https://github.com/ionic-team/ionicons/tree/master/src/svg")
}

head(list_icon(), 10)
#>  [1] "accessibility-outline" "accessibility-sharp"   "accessibility"        
#>  [4] "add-circle-outline"    "add-circle-sharp"      "add-circle"           
#>  [7] "add-outline"           "add-sharp"             "add"                  
#> [10] "airplane-outline"
于 2022-02-13T17:59:05.980 回答