GuangchuangYu / emojifont

:lollipop:Emoji and fontawesom in both base and ggplot2 graphics
https://guangchuangyu.github.io/emojifont/
67 stars 22 forks source link

Problems in interplay with extrafont package #22

Closed z3tt closed 5 years ago

z3tt commented 5 years ago

Hi, thank you very much for this great package! I used it for several occasions but this time I wanted not only to include font awesome icons but also customized fonts.

However, I realized that exporting the fonts via ggsave does not work, neither as .pdf nor as .png. This is also true for plots that do not contain any emojis but happens once the package is loaded. Also loading the packages in reverse order (emojifont first, then extrafont) did not fix it.

In case emojifont package via library(emojifont) has been loaded, the plot does not contain any font-adjustments (family, face, ...). In case of saving it as an .png there is also an issue with the base_size as it seems. See the reprex below (note that the fonts are correctly displayed within the Rstudio viewer pane but the problem arises when the plots were saved).

Do you have any idea what's going on here and how to fix it?

library(tidyverse)
library(extrafont)
#> Registering fonts with R

df_nobel <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-14/nobel_winners.csv")
#> Parsed with column specification:
#> cols(
#>   prize_year = col_double(),
#>   category = col_character(),
#>   prize = col_character(),
#>   motivation = col_character(),
#>   prize_share = col_character(),
#>   laureate_id = col_double(),
#>   laureate_type = col_character(),
#>   full_name = col_character(),
#>   birth_date = col_date(format = ""),
#>   birth_city = col_character(),
#>   birth_country = col_character(),
#>   gender = col_character(),
#>   organization_name = col_character(),
#>   organization_city = col_character(),
#>   organization_country = col_character(),
#>   death_date = col_date(format = ""),
#>   death_city = col_character(),
#>   death_country = col_character()
#> )

df_nobel_proc <- df_nobel %>% 
  filter(laureate_type == "Individual") %>% 
  group_by(prize_year) %>% 
  mutate(ind_awards = n()) %>%
  group_by(prize_year, gender) %>% 
  count() %>% 
  ungroup() %>% 
  complete(prize_year, gender, fill = list(n = 0))

## plot without emojifont loaded
ggplot(df_nobel_proc, aes(prize_year, n, color = gender)) +
  geom_line(alpha = 0.5) + 
  geom_point() +
  theme_light(base_family = "Poppins") +
  theme(axis.text = element_text(family = "Roboto Mono"),
        legend.direction = "horizontal",
        legend.position = "bottom") +
  labs(x = NULL, y = NULL, title = "Nobel Prize Winners by Gender")


ggsave("nobel_font_okay.pdf", width = 9, height = 5, device = cairo_pdf)
ggsave("nobel_font_okay.png", width = 9, height = 5)

saved png: https://i.imgur.com/f6j3nVG.png

## same plot but emojifont loaded
library(emojifont)
#> Warning: Paket 'emojifont' wurde unter R Version 3.5.3 erstellt

ggplot(df_nobel_proc, aes(prize_year, n, color = gender)) +
  geom_line(alpha = 0.5) + 
  geom_point() +
  theme_light(base_family = "Poppins") +
  theme(axis.text = element_text(family = "Roboto Mono"),
        legend.direction = "horizontal",
        legend.position = "bottom") +
  labs(x = NULL, y = NULL, title = "Nobel Prize Winners by Gender")
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

ggsave("nobel_font_not_found.pdf", width = 9, height = 5, device = cairo_pdf)
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

ggsave("nobel_font_not_found.png", width = 9, height = 5)
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead
#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
#> font family 'Poppins' not found, will use 'wqy-microhei' instead

#> ...and so on and on... (shortened redundant output to allow for some readability)

saved png: https://imgur.com/9YlFLOq.png

sessionInfo
#> function (package = NULL) 
#> {
#>     z <- list()
#>     z$R.version <- R.Version()
#>     z$platform <- z$R.version$platform
#>     if (nzchar(.Platform$r_arch)) 
#>         z$platform <- paste(z$platform, .Platform$r_arch, sep = "/")
#>     z$platform <- paste0(z$platform, " (", 8 * .Machine$sizeof.pointer, 
#>         "-bit)")
#>     z$locale <- Sys.getlocale()
#>     if (.Platform$OS.type == "windows") {
#>         z$running <- win.version()
#>     }
#>     else if (nzchar(Sys.which("uname"))) {
#>         uname <- system("uname -a", intern = TRUE)
#>         os <- sub(" .*", "", uname)
#>         z$running <- switch(os, Linux = if (file.exists("/etc/os-release")) {
#>             tmp <- readLines("/etc/os-release")
#>             t2 <- if (any(startsWith(tmp, "PRETTY_NAME="))) sub("^PRETTY_NAME=", 
#>                 "", grep("^PRETTY_NAME=", tmp, value = TRUE)[1L]) else if (any(startsWith(tmp, 
#>                 "NAME"))) sub("^NAME=", "", grep("^NAME=", tmp, 
#>                 value = TRUE)[1L]) else "Linux (unknown distro)"
#>             sub("\"(.*)\"", "\\1", t2)
#>         } else if (file.exists("/etc/system-release")) {
#>             readLines("/etc/system-release")
#>         }, Darwin = {
#>             ver <- readLines("/System/Library/CoreServices/SystemVersion.plist")
#>             ind <- grep("ProductUserVisibleVersion", ver)
#>             ver <- ver[ind + 1L]
#>             ver <- sub(".*<string>", "", ver)
#>             ver <- sub("</string>$", "", ver)
#>             ver1 <- strsplit(ver, ".", fixed = TRUE)[[1L]][2L]
#>             sprintf("%s %s %s", ifelse(as.numeric(ver1) < 12, 
#>                 "OS X", "macOS"), switch(ver1, `6` = "Snow Leopard", 
#>                 `7` = "Lion", `8` = "Mountain Lion", `9` = "Mavericks", 
#>                 `10` = "Yosemite", `11` = "El Capitan", `12` = "Sierra", 
#>                 `13` = "High Sierra", ""), ver)
#>         }, SunOS = {
#>             ver <- system("uname -r", intern = TRUE)
#>             paste("Solaris", strsplit(ver, ".", fixed = TRUE)[[1L]][2L])
#>         }, uname)
#>     }
#>     if (is.null(package)) {
#>         package <- grep("^package:", search(), value = TRUE)
#>         keep <- vapply(package, function(x) x == "package:base" || 
#>             !is.null(attr(as.environment(x), "path")), NA)
#>         package <- .rmpkg(package[keep])
#>     }
#>     pkgDesc <- lapply(package, packageDescription, encoding = NA)
#>     if (length(package) == 0) 
#>         stop("no valid packages were specified")
#>     basePkgs <- sapply(pkgDesc, function(x) !is.null(x$Priority) && 
#>         x$Priority == "base")
#>     z$basePkgs <- package[basePkgs]
#>     if (any(!basePkgs)) {
#>         z$otherPkgs <- pkgDesc[!basePkgs]
#>         names(z$otherPkgs) <- package[!basePkgs]
#>     }
#>     loadedOnly <- loadedNamespaces()
#>     loadedOnly <- loadedOnly[!(loadedOnly %in% package)]
#>     if (length(loadedOnly)) {
#>         names(loadedOnly) <- loadedOnly
#>         pkgDesc <- c(pkgDesc, lapply(loadedOnly, packageDescription))
#>         z$loadedOnly <- pkgDesc[loadedOnly]
#>     }
#>     z$matprod <- as.character(options("matprod"))
#>     es <- extSoftVersion()
#>     z$BLAS <- as.character(es["BLAS"])
#>     z$LAPACK <- La_library()
#>     class(z) <- "sessionInfo"
#>     z
#> }
#> <bytecode: 0x0000000011fa6b38>
#> <environment: namespace:utils>

Created on 2019-05-15 by the reprex package (v0.2.1)

GuangchuangYu commented 5 years ago

please try showtext package, which works well with emojifont.

On Wed, May 15, 2019 at 7:08 PM Cédric Scherer notifications@github.com wrote:

Hi, thank you very much for this great package! I used it for several occasions but this time I wanted not only to include font awesome icons but also customized fonts.

However, I realized that exporting the fonts via ggsave does not work, neither as pdf nor as png. This is also true for plots that do not contain any emojis but happens once the package is loaded. Also loading the packages in reverse order (emojifont first, then extrafont) did not fix it.

In case emojifont has been loaded, the plot does not contain any font-adjustments (family, face, ...). In case of saving it as an .png there is also an issue with the base_size as it seems.

Do you have any idea what's going on here and how to fix it?

library(tidyverse)#> Warning: Paket 'tidyverse' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'ggplot2' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'tibble' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'tidyr' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'readr' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'purrr' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'dplyr' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'stringr' wurde unter R Version 3.5.2 erstellt#> Warning: Paket 'forcats' wurde unter R Version 3.5.2 erstellt library(extrafont)#> Registering fonts with R df_nobel <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-14/nobel_winners.csv")#> Parsed with column specification:#> cols(#> prize_year = col_double(),#> category = col_character(),#> prize = col_character(),#> motivation = col_character(),#> prize_share = col_character(),#> laureate_id = col_double(),#> laureate_type = col_character(),#> full_name = col_character(),#> birth_date = col_date(format = ""),#> birth_city = col_character(),#> birth_country = col_character(),#> gender = col_character(),#> organization_name = col_character(),#> organization_city = col_character(),#> organization_country = col_character(),#> death_date = col_date(format = ""),#> death_city = col_character(),#> death_country = col_character()#> ) df_nobel_proc <- df_nobel %>% filter(laureate_type == "Individual") %>% group_by(prize_year) %>% mutate(ind_awards = n()) %>% group_by(prize_year, gender) %>% count() %>% ungroup() %>% complete(prize_year, gender, fill = list(n = 0))

plot without emojifont loaded

ggplot(df_nobel_proc, aes(prize_year, n, color = gender)) + geom_line(alpha = 0.5) + geom_point() + theme_light(base_family = "Poppins") + theme(axis.text = element_text(family = "Roboto Mono"), legend.direction = "horizontal", legend.position = "bottom") + labs(x = NULL, y = NULL, title = "Nobel Prize Winners by Gender")

https://camo.githubusercontent.com/a5e2866781c9e5c8c5107d9c2d753c1ddeaec098/68747470733a2f2f692e696d6775722e636f6d2f686b32515a4d442e706e67

ggsave("nobel_font_okay.pdf", width = 9, height = 5, device = cairo_pdf) ggsave("nobel_font_okay.png", width = 9, height = 5)

same plot but emojifont loaded

library(emojifont)#> Warning: Paket 'emojifont' wurde unter R Version 3.5.3 erstellt

ggplot(df_nobel_proc, aes(prize_year, n, color = gender)) + geom_line(alpha = 0.5) + geom_point() + theme_light(base_family = "Poppins") + theme(axis.text = element_text(family = "Roboto Mono"), legend.direction = "horizontal", legend.position = "bottom") + labs(x = NULL, y = NULL, title = "Nobel Prize Winners by Gender")#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Poppins' not found, will use 'wqy-microhei' instead

https://camo.githubusercontent.com/619aa63e9a796198a7363dc6a8907d5122032ff5/68747470733a2f2f692e696d6775722e636f6d2f4f73637731736f2e706e67

ggsave("nobel_font_not_found.pdf", width = 9, height = 5, device = cairo_pdf)#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Poppins' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,#> x$y, : font family 'Roboto Mono' not found, will use 'wqy-microhei' instead#> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :#> font family 'Roboto Mono' not found, will use 'wqy-microhei' instead

> Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$lab

z3tt commented 5 years ago

Thank you, works perfectly! (Totally forgot to answer you, sorry.)