Optimiser ses graphiques avec R



Documents pareils
Création de fonds de cartes statiques et dynamiques avec R et Google Maps

MANIPULATION ET VISUALISATION DE GROSSES BASES DE DONNÉES AVEC R

Analyse exploratoire des données

SEMIN- Gestion des couleurs sous R. Michel BAYLAC. MNHN Département Systématique et Evolution OSEB

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Initiation à l analyse en composantes principales

Présentation du logiciel

Lire ; Compter ; Tester... avec R

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

La structure de la base de données et l utilisation de PAST. Musée Royal de l Afrique Centrale (MRAC Tervuren)

Infolettre #18 : Les graphiques avec Excel 2010

Pourquoi R devient incontournable en recherche, enseignement et développement

Introduction à la présentation graphique avec xmgrace

Aide-mémoire de statistique appliquée à la biologie

Du bon usage de gnuplot

MANUEL D UTILISATION PRO-FACE

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Matérialiser les données d une BdD : créer une carte de densité de points par maillage

La place de SAS dans l'informatique décisionnelle

Fête de la science Initiation au traitement des images

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Votre non / Your name : Ville / City : Télécopieur / Fax : LISTE DE PRIX / PRICE LIST. B $ Régulier / Regular $ 101 Chaise fauteuil.

L interface Outils, palettes, règles, repères, grille Paramétrer les préférences

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Traitement bas-niveau

TUTORIEL CartoDB 11/03/15

Faire un semi variograme et une carte krigée avec surfer

Cartographie avec R. Baptiste Coulmont. 16 septembre 2010

Logiciel XLSTAT version rue Damrémont PARIS

Opérations de base sur ImageJ

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

AMELIORATIONS DES FONCTIONNALITES DISPONIBLES

2013 Pearson France Adobe Illustrator CC Adobe Press

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e


Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Cours iguess. inotes v10.1

Géométrie discrète Chapitre V

Note de cours. Introduction à Excel 2007

Annexe commune aux séries ES, L et S : boîtes et quantiles

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Franck VAUTIER, Jean-Pierre TOUMAZET, Erwan ROUSSEL, Marlène FAURE, Mohamed ABADI, Marta FLOREZ, Bertrand DOUSTEYSSIER

Initiation au dessin Bitmap

Problèmes de dénombrement.

LISTE DE PRIX / PRICE LIST. Tables avec jupes / Skirted Tables

LISTE DE PRIX / PRICE LIST. Tables avec jupes / Skirted Tables

Modélisation physique des cellules logiques... Modèles pour le placement routage, le format "LEF"

Prise en main du logiciel de SIG MapInfo

Introduction à Adobe Illustrator pour la cartographie et la mise en page

ATELIER IMAGEJ. Différentes applications vous sont proposées pour apprendre à utiliser quelques fonctions d ImageJ :

Formation tableur niveau 1 (Excel 2013)

PROMOTIONS & BESTOF 2015 STYLOS MUGS CONFERENCIERS PUBLICITAIRES POUR ENTREPRISE

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

R - un exemple du succès des modèles libres

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Comment paramétrer et sauvegarder les configurations d Altium Designer?

2010 Minitab, Inc. Tous droits réservés. Version Minitab, le logo Minitab, Quality Companion by Minitab et Quality Trainer by Minitab sont des

LA GAMME BRIO. KAUFEL Systèmes de sécurité KAUFEL, NOTRE EXPERTISE A VOTRE SERVICE

Plus petit, plus grand, ranger et comparer

Aide GeoGebra. Manuel Officiel 3.2. Markus Hohenwarter et Judith Hohenwarter

Traitement numérique de l'image. Raphaël Isdant

Gestion des données avec R

Statistiques Descriptives à une dimension

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

Traceur de courbes planes

Le contexte. Le questionnement du P.E.R. :

Manuel de formation Spaceman 1 ère journée

EVALUATIONS MI-PARCOURS CM2

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

Création de maquette web

Manipuler des données calendaires

Business Intelligence simple et efficace

Fiche TD avec le logiciel. Courbes de niveau. D. Chessel

Parcours FOAD Formation EXCEL 2010

COMMENT TROUVER VOS FUTURS CLIENTS À L INTERNATIONAL? 05/03/2015 Creditsafe France

Leslie REGAD ; Gaëlle LELANDAIS. leslie.regad@univ- paris- diderot.fr ; gaelle.lelandais@univ- paris- diderot.fr

Les calques : techniques avancées

DG-ADAJ: Une plateforme Desktop Grid

Indications pour une progression au CM1 et au CM2

La simulation probabiliste avec Excel

Comment utiliser les repères avec Quick Cut. Explications Repérage Automatique

1 Importer et modifier des données avec R Commander

TP SIN Traitement d image

Les problèmes de la finale du 21éme RMT

ACP Voitures 1- Méthode

Rappels sur les suites - Algorithme

point On obtient ainsi le ou les points d inter- entre deux objets».

Tutoriel Mathematica Les graphiques

Activité 11 : Nuage de points ou diagramme de dispersion

Les bases de l étalonnage avec Adobe Premiere Pro Formation de Duduf

Introduction à MATLAB R

Je découvre le diagramme de Venn

Publication Assistée par Ordinateur

Chapitre 1: Bienvenus Au Seavus Project Viewer

GUIDE D UTILISATION DU CENTRE DE DONNÉES DE L ISU

WORDPRESS : réaliser un site web

Transcription:

Optimiser ses graphiques avec R Jérôme Sueur MNHN Systématique et Evolution UMR CNRS 7205 OSEB sueur@mnhn.fr 28 Avril 2011

1 Typologie 2 Base 3 ggplot2 4 Références

Outline 1 Typologie 2 Base 3 ggplot2 4 Références

Typologie Quels graphiques? simples et composés 2D ou 3D statiques, interactifs, animés

Typologie Familles Quatre familles de graphiques issus de la base ou de packages spécifiques : base (Ross Ihaka) package grids (Paul Murrel) package lattice (Deepayan Sarkar) package ggplot2 (Hadley Wickman)

Outline 1 Typologie 2 Base 3 ggplot2 4 Références

Base Principes Cinq grands types de fonctions graphiques haut-niveau (high-level) bas-niveau (low-level) paramétrage (parameters) division (treillis, faceting) impression (vectorielle, matricielle)

Base Fonctions de haut-niveau nuages de points profils graphiques en bâtons histogrammes boîtes à moustaches graphiques en violons camemberts radars contours cartes de densité cartes géographiques images etc

Base Fonctions de bas-niveau points, traits, surfaces (rectangles, polygones, cercles) lignes, courbes, segments, flèches titres, légendes, étiquettes

Base Fonctions de paramétrage couleurs taille, police, orientation échelles marges superposition etc

Base Nombre de packages data vers count date 1 1.30 110 2001-06-21 2 1.40 129 2001-12-17 3 1.50 161 2002-06-12 4 1.70 219 2003-05-25 5 1.80 273 2003-11-16 6 1.90 357 2004-06-05 7 2.00 406 2004-10-12 8 2.10 548 2005-06-18 9 2.20 647 2005-12-16 10 2.30 739 2006-05-31 11 2.40 911 2006-12-12 12 2.50 1000 2007-04-12 13 2.60 1300 2007-11-16 14 2.70 1495 2008-03-18 15 2.80 1614 2008-10-20 16 2.90 1907 2009-04-17 17 2.10 2008 2009-10-26 18 2.12 2952 2011-04-06

Base Exemple plot(date, count) count 0 500 1000 1500 2000 2500 3000 2002 2004 2006 2008 2010 date

Base Exemple par(bg = "darkgrey", fg = "white", lwd = 2) plot(date, count, pch = 20, cex = 2, col = "white", xlab = "Année", ylab = "Nombre", main = "Nombre de packages sur le CRAN") points(date[18], count[18], pch = 20, col = "yellow", cex = 2) text(date[18], count[18], pos = 2, label = "6 Avril 2011", col = "yellow") lines(lowess(date, count), col = 2, lwd = 2)

Base Exemple Nombre de packages sur le CRAN Nombre 0 500 1000 1500 2000 2500 3000 6 Avril 2011 2002 2004 2006 2008 2010 Année

Base Des exemples par centaines http ://addictedtor.free.fr/graphiques/index.php

Outline 1 Typologie 2 Base 3 ggplot2 4 Références

ggplot2 Historique développé par Hadley Wickham (Rice University, Houston, USA) dépend principalement des packages reshape et plyr première version : Juin 2007

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques obéit à une construction particulière suivant la grammaire graphique développée par Wilkinson en 2005

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques obéit à une construction particulière suivant la grammaire graphique développée par Wilkinson en 2005 permet une construction rapide de graphiques simples

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques obéit à une construction particulière suivant la grammaire graphique développée par Wilkinson en 2005 permet une construction rapide de graphiques simples réduction (considérable) de la longueur des codes

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques obéit à une construction particulière suivant la grammaire graphique développée par Wilkinson en 2005 permet une construction rapide de graphiques simples réduction (considérable) de la longueur des codes permet la création de nouvelles familles de graphiques

ggplot2 Principes généraux obéit à de nouveaux principes esthétiques obéit à une construction particulière suivant la grammaire graphique développée par Wilkinson en 2005 permet une construction rapide de graphiques simples réduction (considérable) de la longueur des codes permet la création de nouvelles familles de graphiques Nouveau dialecte à apprendre

ggplot2 Les calques ou layers ggplot2 créé des layers (calques) qui peuvent s utiliser comme des objets (assignation possible). Voici les principaux layers : data données brutes mapping projection graphique geom objets géométriques (points, lignes, polygones, etc.) stat transformation statistique (histogramme, modèle, etc.) scale espace esthétique (couleurs, formes, tailes, axes, légendes) coord système de coordonnées (axes, grilles) facet division

ggplot2 Nombre de packages plot <- qplot(date, count, data = data, geom = c("point", "smooth")) plot + xlab("années") + ylab("number of packages") + annotate("text", x = data[17, 3], y = data[18, 2] + 100, label = "6 Avril 2011", colour = "red") 3000 6 Avril 2011 2500 Number of packages 2000 1500 1000 500 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Années

ggplot2 Fonctions de base ggplot2 a deux fonctions graphiques de base : - qplot() pour quick plot rapide mais simple (pour un seul jeu de données et une seule méthode esthétique) principe : qplot(x, y, data=data) - ggplot() lent mais plus puissant, ajout de layers avec + principe : gplot(data, aes(x, y)) + layers Remarque On peut obtenir les mêmes résultats avec les deux fonctions (équivalence)

ggplot2 Objets géométriques (geom) point scatterplot (défaut si 2 dimensions) smooth ajoute une courbe de tendance (lissage) à un scatterplot boxplot boîte à moustaches jitter gigue path chemins entre des points ( direction) line lignes entre des points (de gauche à droite) histogram histogramme (défaut si 1 dimension) freqpoly polygone fréquentiel density courbe de densité bar bâtons

ggplot2 Catégorisation par la couleur head(diamonds) carat cut color clarity depth table price x y z 13998 1.01 Ideal G SI1 62.6 56 5698 6.37 6.41 4.00 301 0.77 Ideal I VS1 61.5 59 2798 5.87 5.91 3.62 6816 1.01 Fair D SI1 66.3 55 4118 6.22 6.17 4.11 48416 0.73 Premium F SI2 60.2 59 1971 5.87 5.82 3.52 20812 1.04 Premium G IF 61.3 58 9039 6.52 6.43 3.97 36091 0.32 Very Good F VVS1 61.9 59 926 4.34 4.39 2.70

ggplot2 Catégorisation par la couleur qplot(carat, price, data = diamonds, colour = color) carat price 5000 10000 15000 0.5 1.0 1.5 2.0 2.5 color D E F G H I J

ggplot2 Catégorisation par la couleur qplot(carat, data = diamonds, geom = "histogram", fill = color) 15..count.. 10 5 color D E F G H I J 0 0.5 1.0 1.5 2.0 2.5 carat

ggplot2 Catégorisation par la couleur qplot(carat, data = diamonds, geom = "density", fill = color, alpha = I(1/5)) 1.4 1.2..density.. 1.0 0.8 0.6 0.4 color D E F G H I J 0.2 0.0 0.5 1.0 1.5 2.0 2.5 carat

ggplot2 Division Principe : diviser le jeu de données en sous-ensembles et créer un graphique similaire pour chacun sous-ensemble. Syntaxe : argument facets de qplot selon facteur en ligne facteur en colonne facets = facteur. produira un graphique multiple en colonnes facets =. facteur produira un graphique multiple en lignes

ggplot2 Division qplot(carat, data = diamonds, facets = color ~., geom = "histogram") carat..count.. 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0.5 1.0 1.5 2.0 2.5 D E F G H I J

ggplot2 Division data(mpg) qplot(displ, hwy, data = mpg, geom = c("point", "smooth"), facets =. ~ year) displ hwy 15 20 25 30 35 40 1999 2 3 4 5 6 7 2008 2 3 4 5 6 7

ggplot2 Arguments ggplot permet, en association avec de produire des graphes plus complexes. ggplot a deux arguments : - data (données dans un data.frame) - aesthetic mapping (paramètres esthétiques de la projection, doivent être inclus dans la fonction aes())

ggplot2 Calques Voici les principaux layers : - geom_xxx() (par example : geom_point(), geom_histogramm(), etc.) - stat_xxx() (par exemple : stat_bin(), stat_smooth(), etc.) - scale_xxx() (par exemple : scale_x_continuous(), scale_x_log10(), etc.) - facet_xxx() (par exemple : facet_grid(), facet_wrap(), etc.) - coord_xxx() (par exemple : coord_flip(), coord_trans(), etc.)

ggplot2 Premier calque p <- ggplot(mpg, aes(displ, hwy, colour = factor(cyl))) summary(p) data: manufacturer, model, displ, year, cyl, trans, drv, cty, hwy, fl, class [234x11] mapping: x = displ, y = hwy, colour = factor(cyl) faceting: facet_grid(. ~., FALSE)

ggplot2 Exemple d objet géométrique p + geom_point() + geom_smooth(method = "lm") displ hwy 15 20 25 30 35 40 2 3 4 5 6 7 factor(cyl) 4 5 6 8

ggplot2 Systèmes de coordonnées p <- ggplot(diamonds, aes(x = "", fill = cut)) + geom_bar(width = 1) p 100 80..count.. 60 40 cut Fair Good Very Good Premium Ideal 20 0

ggplot2 Systèmes de coordonnées p + coord_polar(theta = "y") 0/100 80 20 cut Fair..count.. Good Very Good Premium Ideal 60 40

ggplot2 Systèmes de coordonnées p <- qplot(cut, price, data = diamonds, geom = "boxplot") p 15000 10000 price 5000 Fair Good Very Good Premium Ideal cut

ggplot2 Systèmes de coordonnées p + coord_flip() Ideal Premium cut Very Good Good Fair 5000 10000 15000 price

ggplot2 Thèmes Le thème contrôle l apparence globale (police, couleurs). Il y a deux thèmes par défaut : - theme_gray() : fond gris, grille blanche - theme_bw() : fond blanc, grille grise

ggplot2 Thèmes Il y a deux manières de choisir le thème par défaut - globalement avec theme_set(theme_xxx). - localement comme un layer avec également theme_set(theme_xxx)

ggplot2 Thèmes Modification globale pour tous les graphiques suivants en utilisant theme_update : theme_update(plot.background = theme_rect(fill = "yellow")) data(movies) qplot(rating, data = movies, binwidth = 1) 15000 10000..count.. 5000 0 0 2 4 6 8 10 rating

ggplot2 Exemples par Michael Lavine (UMass Amherst) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par Claudia Beleites (TU Dresden & Uni. Trieste) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par David Kahle (Rice University) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par Christian Kramer (NIBR Basel) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par Jean-Olivier Irisson (JiHO) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par Stefan Muthers https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par Heike Hofmann (Iowa State University) https ://github.com/hadley/ggplot2/wiki

ggplot2 Exemples par learnr http ://learnr.wordpress.com/

ggplot2 Exemples par C http ://www.rbloggers.com/analyzegold-demand-andinvestments-using-r/

ggplot2 Exemples par Winston Chang http ://wiki.stdout.org/rcookbook

Outline 1 Typologie 2 Base 3 ggplot2 4 Références

Références de la base : Murrell, P. 2005. R graphics. Chapman & hall / CRC. Page web de P. Murrell : http ://www.stat.auckland.ac.nz/ paul/rgraphics/rgraphics.html http ://addictedtor.free.fr/graphiques/index.php Graphic task view http ://cran.at.r-project.org/web/views/graphics.html Graphical model task view http ://cran.at.r-project.org/web/views/gr.html de ggplot2 : Wilkinson, L. (2005) The grammar of graphics. Statistics and Computing. Springer Wickman, H. 2009 ggplot2. Elegant graphics for data analysis. Springer. Pageweb : http ://had.co.nz/ggplot2/ Page Git : https ://github.com/hadley/ggplot2 Groupe de discussion : http ://groups.google.com/group/ggplot2 Application web : http ://yeroon.net/ggplot2/