De nombreuses extensions permettent d’étendre les possibilités graphiques de ggplot2. Certaines ont déjà été abordées dans les différents chapitres d’analyse-R. Le présent chapitre ne se veut pas exhaustif et ne présente qu’une sélection choisie d’extensions.

Le site ggplot2 extensions (http://www.ggplot2-exts.org/) recense diverses extensions pour ggplot2.

Pour une présentation des fonctions des base et des concepts de ggplot2, on pourra se référer au chapitre dédié ainsi qu’au deux chapitres introductifs : introduction à ggplot2 et graphiques bivariés avec ggplot2.

Nouvelles géométries

pirate : alternative aux boîtes à moustache

Cette représentation alternative aux boîtes à moustache s’obtient avec la géométrie geom_pirate de l’extension ggpirate1.

Étiquettes non superposées

Lorsque l’on affiche des étiquettes de texte, ces dernières peuvent se supperposer lorsqu’elles sont proches. Les géométries geom_text_repel et geom_label_repel de l’extension ggrepel prennent en compte la position des différentes étiquettes pour éviter qu’elles ne se chevauchent.

Axes, légende et facettes

Répéter les étiquettes des axes sur des facettes

Lorsque l’on réalise des facettes, les étiquettes des axes ne sont pas répétées.

L’extension lemon propose facet_rep_grid et facet_rep_wrap qui répètent les axes sur chaque facette.

Cartes

Voir le chapitre dédié.

Graphiques complexes

Graphiques animés

L’extension gganimate permets de réaliser des graphiques animés.

Voici un exemple :


Rendering [------------------------] at 1.1 fps ~ eta:  1m
Rendering [------------------------] at 1.2 fps ~ eta:  1m
Rendering [>-----------------------] at 1.2 fps ~ eta:  1m
Rendering [>-----------------------] at 1.3 fps ~ eta:  1m
Rendering [=>----------------------] at 1.3 fps ~ eta:  1m
Rendering [==>---------------------] at 1.3 fps ~ eta:  1m
Rendering [==>---------------------] at 1.2 fps ~ eta:  1m
Rendering [===>--------------------] at 1.2 fps ~ eta:  1m
Rendering [====>-------------------] at 1.2 fps ~ eta:  1m
Rendering [=====>------------------] at 1.2 fps ~ eta:  1m
Rendering [======>-----------------] at 1.2 fps ~ eta:  1m
Rendering [=======>----------------] at 1.2 fps ~ eta:  1m
Rendering [========>---------------] at 1.2 fps ~ eta:  1m
Rendering [========>---------------] at 1.3 fps ~ eta:  1m
Rendering [========>---------------] at 1.3 fps ~ eta: 49s
Rendering [========>---------------] at 1.3 fps ~ eta: 48s
Rendering [=========>--------------] at 1.3 fps ~ eta: 47s
Rendering [=========>--------------] at 1.3 fps ~ eta: 46s
Rendering [=========>--------------] at 1.3 fps ~ eta: 45s
Rendering [==========>-------------] at 1.3 fps ~ eta: 44s
Rendering [==========>-------------] at 1.3 fps ~ eta: 43s
Rendering [==========>-------------] at 1.3 fps ~ eta: 42s
Rendering [==========>-------------] at 1.3 fps ~ eta: 41s
Rendering [===========>------------] at 1.3 fps ~ eta: 41s
Rendering [===========>------------] at 1.3 fps ~ eta: 40s
Rendering [===========>------------] at 1.3 fps ~ eta: 39s
Rendering [===========>------------] at 1.3 fps ~ eta: 38s
Rendering [============>-----------] at 1.2 fps ~ eta: 38s
Rendering [============>-----------] at 1.2 fps ~ eta: 37s
Rendering [============>-----------] at 1.2 fps ~ eta: 36s
Rendering [=============>----------] at 1.2 fps ~ eta: 35s
Rendering [=============>----------] at 1.2 fps ~ eta: 34s
Rendering [=============>----------] at 1.2 fps ~ eta: 33s
Rendering [==============>---------] at 1.2 fps ~ eta: 32s
Rendering [==============>---------] at 1.2 fps ~ eta: 31s
Rendering [==============>---------] at 1.2 fps ~ eta: 30s
Rendering [==============>---------] at 1.2 fps ~ eta: 29s
Rendering [===============>--------] at 1.2 fps ~ eta: 29s
Rendering [===============>--------] at 1.2 fps ~ eta: 28s
Rendering [===============>--------] at 1.2 fps ~ eta: 27s
Rendering [===============>--------] at 1.2 fps ~ eta: 26s
Rendering [================>-------] at 1.2 fps ~ eta: 25s
Rendering [================>-------] at 1.2 fps ~ eta: 24s
Rendering [================>-------] at 1.2 fps ~ eta: 23s
Rendering [=================>------] at 1.2 fps ~ eta: 22s
Rendering [=================>------] at 1.2 fps ~ eta: 21s
Rendering [=================>------] at 1.3 fps ~ eta: 20s
Rendering [=================>------] at 1.3 fps ~ eta: 19s
Rendering [=================>------] at 1.3 fps ~ eta: 18s
Rendering [==================>-----] at 1.3 fps ~ eta: 17s
Rendering [==================>-----] at 1.3 fps ~ eta: 16s
Rendering [==================>-----] at 1.3 fps ~ eta: 15s
Rendering [===================>----] at 1.3 fps ~ eta: 14s
Rendering [===================>----] at 1.3 fps ~ eta: 13s
Rendering [===================>----] at 1.3 fps ~ eta: 12s
Rendering [====================>---] at 1.3 fps ~ eta: 11s
Rendering [====================>---] at 1.3 fps ~ eta: 10s
Rendering [====================>---] at 1.3 fps ~ eta:  9s
Rendering [====================>---] at 1.3 fps ~ eta:  8s
Rendering [=====================>--] at 1.3 fps ~ eta:  8s
Rendering [=====================>--] at 1.3 fps ~ eta:  7s
Rendering [=====================>--] at 1.3 fps ~ eta:  6s
Rendering [=====================>--] at 1.3 fps ~ eta:  5s
Rendering [======================>-] at 1.3 fps ~ eta:  5s
Rendering [======================>-] at 1.3 fps ~ eta:  4s
Rendering [======================>-] at 1.3 fps ~ eta:  3s
Rendering [======================>-] at 1.3 fps ~ eta:  2s
Rendering [=======================>] at 1.3 fps ~ eta:  2s
Rendering [=======================>] at 1.3 fps ~ eta:  1s
Rendering [========================] at 1.3 fps ~ eta:  0s
                                                          

Frame 1 (1%)
Frame 2 (2%)
Frame 3 (3%)
Frame 4 (4%)
Frame 5 (5%)
Frame 6 (6%)
Frame 7 (7%)
Frame 8 (8%)
Frame 9 (9%)
Frame 10 (10%)
Frame 11 (11%)
Frame 12 (12%)
Frame 13 (13%)
Frame 14 (14%)
Frame 15 (15%)
Frame 16 (16%)
Frame 17 (17%)
Frame 18 (18%)
Frame 19 (19%)
Frame 20 (20%)
Frame 21 (21%)
Frame 22 (22%)
Frame 23 (23%)
Frame 24 (24%)
Frame 25 (25%)
Frame 26 (26%)
Frame 27 (27%)
Frame 28 (28%)
Frame 29 (29%)
Frame 30 (30%)
Frame 31 (31%)
Frame 32 (32%)
Frame 33 (33%)
Frame 34 (34%)
Frame 35 (35%)
Frame 36 (36%)
Frame 37 (37%)
Frame 38 (38%)
Frame 39 (39%)
Frame 40 (40%)
Frame 41 (41%)
Frame 42 (42%)
Frame 43 (43%)
Frame 44 (44%)
Frame 45 (45%)
Frame 46 (46%)
Frame 47 (47%)
Frame 48 (48%)
Frame 49 (49%)
Frame 50 (50%)
Frame 51 (51%)
Frame 52 (52%)
Frame 53 (53%)
Frame 54 (54%)
Frame 55 (55%)
Frame 56 (56%)
Frame 57 (57%)
Frame 58 (58%)
Frame 59 (59%)
Frame 60 (60%)
Frame 61 (61%)
Frame 62 (62%)
Frame 63 (63%)
Frame 64 (64%)
Frame 65 (65%)
Frame 66 (66%)
Frame 67 (67%)
Frame 68 (68%)
Frame 69 (69%)
Frame 70 (70%)
Frame 71 (71%)
Frame 72 (72%)
Frame 73 (73%)
Frame 74 (74%)
Frame 75 (75%)
Frame 76 (76%)
Frame 77 (77%)
Frame 78 (78%)
Frame 79 (79%)
Frame 80 (80%)
Frame 81 (81%)
Frame 82 (82%)
Frame 83 (83%)
Frame 84 (84%)
Frame 85 (85%)
Frame 86 (86%)
Frame 87 (87%)
Frame 88 (88%)
Frame 89 (89%)
Frame 90 (90%)
Frame 91 (91%)
Frame 92 (92%)
Frame 93 (93%)
Frame 94 (94%)
Frame 95 (95%)
Frame 96 (96%)
Frame 97 (97%)
Frame 98 (98%)
Frame 99 (99%)
Frame 100 (100%)
Finalizing encoding... done!

Voir le site de l’extension (https://gganimate.com/) pour la documentation et des tutoriels. Il est conseillé d’installer également l’extension gifski avec gganimate.

Thèmes et couleurs

Voir le chapitre Couleurs et palettes pour une sélection d’extensions proposant des palettes de couleurs additionnelles.

hrbrthemes

L’extension hrbrthemes fournit plusieurs thèmes graphiques pour ggplot2. Un exemple ci-dessous. Pour plus d’informations, voir https://github.com/hrbrmstr/hrbrthemes.

ggthemes

ggthemes propose une vingtaine de thèmes différentes présentés sur le site de l’extension : https://jrnold.github.io/ggthemes/.

Voir ci-dessous un exemple du thème theme_tufte inspiré d’Edward Tufte.


Attaching package: 'ggthemes'
The following object is masked from 'package:cowplot':

    theme_map

Combiner plusieurs graphiques

Voir le chapitre dédié.


  1. Cette extension n’étant pas sur CRAN, on l’installera avec la commande devtools::install_github("mikabr/ggpirate").