Interagir avec un graphique R

Transformer un graphique en interface

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.

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.

Récupérer les coordonnées d&#39;un point en 1 click (R project CRAN)

Graphique avec localisation d'un point en cliquant dessus

Un ensemble de commandes pour interagir à volonté avec un graphique - getGraphicEvent()


Commandes à taper sous R 

cliquer sur le lien pour voir l'exemple détaillé

https://sites.google.com/site/rgraphiques/realiser-des-graphiques-avec-le-logiciel-r/les-graphiques/interface-graphique-et-graphique-interactif-avec-r-project-cran

Un exemple de graphique interactif avec R project

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.