Visualisation d'un réseau

Par Rémi Julien | March 24, 2018

En septembre 2017, le SYNTEC Numérique (syndicat professionnel du numérique) a publié un livre blanc “Innovation & Technologies”. Cet ouvrage livre un éclairage sur 9 innovations qui font la révolution digitale.

Dans ce post, nous allons représenter ces 9 innovations ainsi que leurs écosystèmes sous la forme d’un réseau connecté.

Préparation des données

Dans cette section, nous allons transformer notre jeu de données issu du Libre Blanc en une matrice d’adjacence, afin de pouvoir représenter visuellement les 9 innovations en un réseau connecté.

Nous utilisation la librairie igraph de R, librairie dédiéé à l’analyse de réseau, ainsi que la librairie visNetwork développée par l’équipe talentueuse de DataStorm pour la visualisation interactive de ce réseau.


# Chargement des librairies nécessaires
library(visNetwork)
library(igraph)

# Aperçu des données préalablement structurées
innov.mat[1:5,1:5]
##                    IA IoT Blockchain Eco. collaborative Big data
## IA                  0   1          0                  0        1
## IoT                 1   0          0                  0        1
## Blockchain          0   0          0                  1        0
## Eco. collaborative  1   0          1                  0        0
## Big data            1   1          0                  0        0

# Transformation des données 'innov.mat' en une matrice d'adjacence
igraph_network <- graph.adjacency(as.matrix(innov.mat))
data <- toVisNetworkData(igraph_network)

Préparation du réseau

Dans cette section, nous définissons les paramètres graphiques (couleur, ombrage, légende, etc.) de représentation du réseau.

# Mise en forme des noeuds
data$nodes$group[1:9] <- "Innovation majeure"
data$nodes$group[10:nrow(data$nodes)] <- "Innovation connexe"

data$nodes$shadow[1:9] <- TRUE
data$nodes$shadow[10:nrow(data$nodes)] <- FALSE

data$nodes$color.background[1:9] <- rgb(0, 139/255, 139/255)
data$nodes$color.background[10:nrow(data$nodes)] <- rgb(0, 229/255, 238/255)
data$nodes$color.border[1:9] <- rgb(100/255, 120/255, 120/255)
data$nodes$color.border[10:nrow(data$nodes)] <- rgb(100/255, 120/255, 120/255)

data$nodes$borderWidth <- 2.5
data$nodes$borderWidthSelected <- 1
data$nodes$color.highlight.background[1:9] <- rgb(200/255, 200/255, 200/255)
data$nodes$color.highlight.background[10:nrow(data$nodes)] <- rgb(200/255, 200/255, 200/255)
data$nodes$color.highlight.border[1:9] <- rgb(0, 139/255, 139/255)
data$nodes$color.highlight.border[10:nrow(data$nodes)] <- rgb(0, 229/255, 238/255)

data$nodes$title[1:9] <- c("Depasser les limites de l'etre humain",
                           "Un univers d'objets intelligents et connectes",
                           "Machine a generer de la confiance",
                           "Une innovation digitale et societale",
                           "Gisement de creation de valeur",
                           "La brique d'ouverture des services numeriques",
                           "Le modele etabli de fourniture de services numeriques",
                           "L'informatique d'entreprise, agile",
                           "De la conception a l'impression 3D")

data$nodes$title[10:nrow(data$nodes)] <- NA

Représentation du réseau

Nous arrivons maintenant à la visualisation du réseau. La librairie visNetwork permet même d’ajouter une couche d’interactivité pour faciliter la navigation et la compréhension. Alors à vos souris, 3…2…1…CLIQUEZ !!!

# Representation du reseau

visNetwork(nodes = data$nodes, edges = data$edges, main = "Les 9 innovations majeures dans leur ecosysteme",
           footer = "Source: Syntec Numerique, 2017") %>% 
  visOptions(selectedBy = "group", width="100%", height="100%") %>% 
  visGroups(groupname = "Innovation majeure", font = list(size = 30),
            color = list(background = "red", border = "blue", highlight = "yellow")) %>%
  visGroups(groupname = "Innovation connexe", font = list(size = 20)) %>%
  visExport() %>%
  visInteraction(hover = TRUE, navigationButtons = TRUE)

Analyse du réseau

Cette représentation illustre clairement que les innovations telles que les services cloud, le big data et l’IA sont au centre des innovations et interagissent avec une grande partie d’entre elles.

comments powered by Disqus