Cours Théorique
Cours Théorique
La SG-SERVICE
2024-11-07
Plotly est une bibliothèque open-source de visualisation de données interactive, très populaire en data science et en ingénierie de données. En R, plotly s’intègre particulièrement bien avec , ce qui permet de rendre interactifs les graphiques créés avec . Cette interactivité est idéale pour explorer visuellement les données, identifier des tendances, ou capturer des insights de manière plus immersive.
Interactivité enrichie : Visualisations interactives qui facilitent l’exploration de données, par exemple pour des présentations ou des tableaux de bord.
Compatibilité web : Les graphiques peuvent être intégrés dans des pages web, exportés en HTML ou intégrés dans des applications shiny.
Large éventail de types de graphiques : Inclut des graphiques 2D, 3D, des cartes géographiques, des graphiques en boîte, et plus encore.
Avant d’utiliser plotly, il est nécessaire de l’installer. Cela peut être fait à partir du CRAN avec la commande suivante :
# Installation du package plotly
install.packages("plotly")
Une fois le package installé, il suffit de le charger dans votre session R :
# Chargement du package plotly
library(plotly)
plotly fonctionne principalement avec deux types d’objets :
Objet plotly : Un objet qui encapsule les graphiques créés avec plotly ou ggplot2.
Objet ggplotly : Ce type d’objet est une conversion de graphiques ggplot2 en graphiques interactifs.
Les fonctions de plotly peuvent être catégorisées selon les types de graphiques que vous souhaitez créer :
plot_ly() : La fonction de base de plotly, pour créer des graphiques directement.
ggplotly() : Convertit des graphiques ggplot2 en graphiques interactifs plotly.
# Création de données
data <- data.frame(x = rnorm(100), y = rnorm(100))
# Graphique avec plot_ly
fig <- plot_ly(data, x = ~x, y = ~y, type = "scatter",
mode = "markers") %>%
layout(title = "Nuage de points interactif")
fig
#Création data
data <- data.frame(x = rnorm(100), y = rnorm(100),
category = sample(c("A", "B", "C"), 100, replace = TRUE))
# Graphique avec couleurs pour chaque catégorie
fig <- plot_ly(data, x = ~x, y = ~y, color = ~category,
type = "scatter", mode = "markers") %>%
layout(title = "Nuage de points par catégorie")
fig
# Création de données
data <- data.frame(
category = c("Catégorie A", "Catégorie B", "Catégorie C"),
values = c(23, 17, 35))
# Graphique en barre
fig <- plot_ly(data, x = ~category, y = ~values
, type = "bar") %>%
layout(title = "Graphique en barre interactif")
fig
# Création de données
data <- data.frame(
category = c("Catégorie A", "Catégorie B", "Catégorie C"),
values = c(23, 17, 35))
fig <- plot_ly(data, y = ~category, x = ~values,
type = "bar", orientation = 'h') %>%
layout(title = "Graphique en barre horizontal")
fig
# Création de données
data <- data.frame(
group = rep(c("Groupe A", "Groupe B"), each = 50),
values = c(rnorm(50, mean = 5), rnorm(50, mean = 7)))
# Graphique en boîte
fig <- plot_ly(data, y = ~values, color = ~group,
type = "box") %>%
layout(title = "Graphique en boîte interactif")
fig
# Création de données
data <- data.frame(
x = rnorm(100), y = rnorm(100), z = rnorm(100))
# Nuage de points 3D
fig <- plot_ly(data, x = ~x, y = ~y, z = ~z,
type = "scatter3d", mode = "markers") %>%
layout(title = "Nuage de points 3D interactif")
fig
# Création de données pour la surface
z <- outer(seq(-10, 10, length.out = 100), seq(-10, 10,
length.out = 100), function(x, y) sin(sqrt(x^2 + y^2)))
# Surface 3D
fig <- plot_ly(z = ~z, type = "surface") %>%
layout(title = "Surface 3D interactive")
fig
# Exemple de carte du monde
data <- data.frame(
country = c("France", "Germany", "United Kingdom"),
values = c(100, 200, 150))
fig <- plot_ly(
data, type = "choropleth", locations = ~country,
locationmode = "country names",
z = ~values,text = ~country,
colorscale = "Viridis") %>%
layout(title = "Carte Choroplèthe")
fig
# Charger les bibliothèques nécessaires
library(ggplot2)
library(plotly)
# Exemple de données
data <- data.frame(
x = rnorm(100),
y = rnorm(100),
category = sample(c("A", "B", "C"), 100, replace = TRUE)
)
# Créer le graphique ggplot2
p <- ggplot(data, aes(x = x, y = y, color = category)) +
geom_point() +
theme_minimal() +
labs(title = "Graphique interactif avec ggplotly",
x = "Axe X",
y = "Axe Y",
color = "Catégorie")
# Convertir en graphique interactif avec ggplotly
fig <- ggplotly(p)
fig