web-dev-qa-db-fra.com

Quelle est la police par défaut pour ggplot2

Lorsque vous utilisez ggplot2 dans R, il a clairement un base_family Police de caractère. Qu'Est-ce que c'est? comme la documentation utilise juste "" comme on peut le voir dans ...

?theme_light()

Il ressemble à ArialMT mais pas sûr ...

28
h.l.m

Ce n'est pas une réponse complète, mais certaines des pièces sont les suivantes:

  • Les thèmes sont compliqués: http://ggplot2.tidyverse.org/reference/theme.html
  • theme_set() et theme_get() peuvent définir et interroger votre thème par défaut pour la session
  • Un thème est une liste, et la liste nommée text et son élément family vous indiqueront que le nom de la police est utilisé. Vous pouvez définir cela dans l'appel de thème dans un ggplot pour remplacer la valeur par défaut pour ce thème.
  • Dans Windows, la windowsFonts() vous indiquera le mappage entre les noms de police et les noms de police de votre système installé. Je ne sais pas comment faire cela sur les plates-formes OS X ou Linux.
  • Les valeurs par défaut semblent être serif, sans et mono sur toutes les plates-formes.

Ma principale question ouverte est à quoi correspond le nom de famille "" vide, car c'est généralement ce qui est dans les thèmes. Si rien n'est spécifié, la valeur par défaut est en quelque sorte définie sur sans, car c'est ce qu'elle semble être.

Je ne savais pas non plus comment remplacer la famille de polices par défaut dans theme_gray(). Pensez qu'il est temps de poser une question ...

> theme_get()$text
List of 10
 $ family    : chr ""
 $ face      : chr "plain"
 $ colour    : chr "black"
 $ size      : num 11
 $ hjust     : num 0.5
 $ vjust     : num 0.5
 $ angle     : num 0
 $ lineheight: num 0.9
 $ margin    :Classes 'margin', 'unit'  atomic [1:4] 0 0 0 0
  .. ..- attr(*, "unit")= chr "pt"
  .. ..- attr(*, "valid.unit")= int 8
 $ debug     : logi FALSE
 - attr(*, "class")= chr [1:2] "element_text" "element"

Et le mappage des polices système dans Windows:

> windowsFonts()
$serif
[1] "TT Times New Roman"

$sans
[1] "TT Arial"

$mono
[1] "TT Courier New"

> 

Un exemple:

library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
  ggtitle("Fuel Efficiency of 32 Cars") +
  xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
  theme(text=element_text(size=16,  family="serif"))

enter image description here

28
Mike Wise

Si vous exportez une figure créée à l'aide de ggplot2 (à l'aide de RStudio: Exporter -> Copier dans le presse-papiers) et la chargez dans un éditeur graphique, vous pouvez sélectionner et modifier chaque aspect individuel de la figure, y compris le texte.

En utilisant Inkscape, la police par défaut pour tous mes tracés ggplot2 est Arial.

7
Rebecca