6 min read

Thèmes prédéfinis

Il existe de nombreux thèmes fourni par le package ggtheme inspirés de journaux, de société de la tech, d’autres logiciels ou encore d’un model de document connu par ceux qui éditent en TeX : tufte . (super classe les documents tufte).

Exemple ici

D’une manière générale , ces thèmes sont fait pour être utilisé tel quel . Pensez : le fond et la forme. Ces thèmes vous fournissent la forme et vous ne vous occupez que du fond de votre sujet.

Tufte

Je commence donc avec ce thème. Faire un graphique avec le thème tufte permet d’être en harmonie avec le document dans lequel on souhaite l’intégrer.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_tufte()

Les journaux

World Street Journal

Dans le premier exemple, j’ai gardé le jeu de couleur par défaut.

Dans les exemples suivant, je vais utiliser le jeu de couleur fourni par le thème.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_wsj() +
  scale_color_wsj()

The economist

En utilisant le jeu de couleur du theme.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_economist() +
  scale_color_economist()

Stata

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_stata() +
  scale_color_stata()

Excel, Calc , et Google Doc

Perso, je les trouve d’un moche !!!! C’est peut être dû a mon allergie aux produits MS , ou google, et même calc, je ne le trouve vraiment pas terrible.

Excel

Attention, je vous aurez prévenu. Je ne sais pas si c’est pour troller MS , mais difficile de faire plus moche …

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_excel() +
  scale_color_excel()

Excel new

Je m’attends au pire …

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_excel_new() +
  scale_color_excel_new()

J’aurais dit : “C’est pas pire…”, mais je perds ma légende, alors franchement , je ne vais pas perdre de temps avec ce thème, je n’ai aucune raison de l’utiliser , ni de le mettre en avant.

Calc

Bon … admettons. Etant adepte des logiciels open-source, mon avis est tout à fait partial, je le reconnais.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_calc() +
  scale_color_calc()

Google Doc

Avec l’expérience de google, il faut avouer que le thème reste élégant.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_gdocs() +
  scale_color_gdocs()

Solarized

Assez sympa, très connu des codeurs , solarized est un thème que l’on retrouve dans les plupart des éditeurs de code.

library(ggplot2)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  theme_solarized() +
  scale_color_solarized()

Ambiance dark

Explorons le ggdark package

Dark mode

On peut même combiner avec un autre jeu de couleur et un autre thème, ici: solarized

library(ggplot2)
library(ggdark)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  dark_mode(theme_solarized()) +
  scale_color_solarized()
## Inverted geom defaults of fill and color/colour.
## To change them back, use invert_geom_defaults().

Ici avec brewer

library(ggplot2)
library(ggdark)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  dark_mode(theme_solarized()) +
  scale_color_brewer()

Blind ?

Colorblind en dark mode , ce n’est pas une bonne combinaison ..

library(ggplot2)
library(ggdark)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  dark_mode(theme_solarized()) +
  scale_color_colorblind()

Dark theme light

library(ggplot2)
library(ggdark)
library(ggthemes)
ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width )) +
  geom_point(aes(color=Species, shape=Species)) +
  labs(title = "Largeurs et longueurs des sépales par espèce",
        caption = "Jeu de donnée iris",
         x = "Longueur des sépales",
         y = "Largeur des sépales",
         colour = "Espèces",
         shape = "Espèces"
     ) +
  dark_theme_light()

Nous avons , un certain nombre de combinaisons , et il y a encore d’autres possibilités, je ne vais les passer toutes en revue .

Ce travail est sous licence Attribution-NonCommercial 4.0 International. Attribution-NonCommercial 4.0 International