Interagir avec un graphique R
Transformer un graphique en interface
Interfaces graphiques et graphiques interactifs
L'essentiel de cette page !
Voici quelques commande pour interagir avec un graphique. Cliquer sur les points pour les taguer, les identifier, récupérer leurs coordonnées...
Une commande très simple pour identifier un point sur un graphique : identify()
Une solution très simple est de faire appel à la commande identify pour identifier un point sur un graphique.
x <- rnorm(40,5,3) ; y <- rnorm(40,5,3)
noms =c(rep("Mickey",20),rep("Julien",10),rep("Gertrude",10))
plot(x,y)
identify(x,y,noms)
Une commande simple pour récupérer les coordonnées d'un point : locator()
La fonction locator permet de récupérer facilement les coordonnées d'un point comme dans l'exemple ci-dessous.
Exemple : la fonction locator() permet de récupérer les coordonnées d'un point précis. La fonction cat les affiche dans la console.
Voisine l'exemple d'une commande loc_punct() pour récupérer les coordonnées d'un point.
# Exemple de données simulées
x <- rnorm(40,5,3) ; y <- rnorm(40,5,3)
# Tracer le graphique
plot(x,y,pch=16, col="#AA1256")
# La fonction à copier-coller : loc_punct()
loc_punct <- function(x,y) {
position = locator(n=1) ; position ; x_min = x-position$x ; y_min = y-position$y
point_x = x[which(abs(x_min) ==(sort(abs(x_min))[1]) ) ][1]
point_y = y[which(abs(y_min) ==(sort(abs(y_min))[1]) ) ][1]
points(point_x,point_y,col="red",cex=2,lwd=2)
cat("Point de coordonnées x : ",point_x," et y : ",point_y,".")
}
# Activation de la fonction
loc_punct(x,y)
# il suffit de cliquer sur le point de son choix pour que swes coordonnées s'affichent dans la console.
Graphique avec localisation d'un point en cliquant dessus
Un ensemble de commandes pour interagir à volonté avec un graphique - getGraphicEvent()
getGraphicEvent est une commande qui permet de récupérer les déplacements et les clicks de la souris pour déclencher les réactions souhaitées.
Voici l'exemple de la commande plot_id_point() pour interagir n fois de suite avec un graphique.
Commandes à taper sous R
Rendre automatiquement les graphiques interactifs avec la librairie plotly
Faire un nuage de points interactifs :
x <- rnorm(20) ; y <- rnorm(20)+x
require("plotly")
plot_ly(x = x, y = y,
mode = 'markers',
type = 'scatter',
marker = list(size = 10))
plotly idéal pour avoir une interface automatique ou afficher du ggplot interactif.
http://perso.ens-lyon.fr/lise.vaudor/cest-donc-a-ca-que-ca-sert-plotly-pour-r/
A développer
R markdown, Shiny et autres méthodes de dashboard comme power BI.