Tracé - Carte polaire et carte radar

Dans ce chapitre, nous apprendrons comment créer une carte polaire et une carte radar avec l'aide de Plotly.

Tout d'abord, étudions la carte polaire.

Carte polaire

Le graphique polaire est une variante courante des graphiques circulaires. Il est utile lorsque les relations entre les points de données peuvent être visualisées plus facilement en termes de rayons et d'angles.

Dans les graphiques polaires, une série est représentée par une courbe fermée qui connecte des points dans le système de coordonnées polaires. Chaque point de données est déterminé par la distance du pôle (la coordonnée radiale) et l'angle par rapport à la direction fixe (la coordonnée angulaire).

Un graphique polaire représente les données le long des axes radial et angulaire. Les coordonnées radiales et angulaires sont données avec ler et theta Arguments pour go.Scatterpolar()fonction. Les données thêta peuvent être catégoriques, mais les données numériques sont également possibles et sont les plus couramment utilisées.

Le code suivant produit un graphique polaire de base. En plus des arguments r et thêta, nous définissons mode surlines (il peut être bien défini pour les marqueurs, auquel cas seuls les points de données seront affichés).

import numpy as np
r1 = [0,6,12,18,24,30,36,42,48,54,60]
t1 = [1,0.995,0.978,0.951,0.914,0.866,0.809,0.743,0.669,0.588,0.5]
trace = go.Scatterpolar(
   r = [0.5,1,2,2.5,3,4],
   theta = [35,70,120,155,205,240],
   mode = 'lines',
)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)

La sortie est donnée ci-dessous -

Dans l'exemple suivant, les données d'un comma-separated values (CSV) fileest utilisé pour générer un graphique polaire. Quelques premières rangées depolar.csv sont comme suit -

y,x1,x2,x3,x4,x5,
0,1,1,1,1,1,
6,0.995,0.997,0.996,0.998,0.997,
12,0.978,0.989,0.984,0.993,0.986,
18,0.951,0.976,0.963,0.985,0.969,
24,0.914,0.957,0.935,0.974,0.946,
30,0.866,0.933,0.9,0.96,0.916,
36,0.809,0.905,0.857,0.943,0.88,
42,0.743,0.872,0.807,0.923,0.838,
48,0.669,0.835,0.752,0.901,0.792,
54,0.588,0.794,0.691,0.876,0.74,
60,0.5,0.75,0.625,0.85,0.685,

Entrez le script suivant dans la cellule d'entrée du notebook pour générer un graphique polaire comme ci-dessous -

import pandas as pd
df = pd.read_csv("polar.csv")
t1 = go.Scatterpolar(
   r = df['x1'], theta = df['y'], mode = 'lines', name = 't1'
)
t2 = go.Scatterpolar(
   r = df['x2'], theta = df['y'], mode = 'lines', name = 't2'
)
t3 = go.Scatterpolar(
   r = df['x3'], theta = df['y'], mode = 'lines', name = 't3'
)
data = [t1,t2,t3]
fig = go.Figure(data = data)
iplot(fig)

Ci-dessous est la sortie du code mentionné ci-dessus -

Carte radar

Une carte radar (également appelée spider plot ou star plot) affiche des données multivariées sous la forme d'un graphe bidimensionnel de variables quantitatives représentées sur des axes provenant du centre. La position relative et l'angle des axes ne sont généralement pas informatifs.

Pour un graphique radar, utilisez un graphique polaire avec des variables angulaires catégorielles dans go.Scatterpolar() fonction dans le cas général.

Le code suivant rend un graphique radar de base avec Scatterpolar() function -

radar = go.Scatterpolar(
   r = [1, 5, 2, 2, 3],
   theta = [
      'processing cost',
      'mechanical properties',
      'chemical stability', 
      'thermal stability',
      'device integration'
   ],
   fill = 'toself'
)
data = [radar]
fig = go.Figure(data = data)
iplot(fig)

La sortie mentionnée ci-dessous est le résultat du code donné ci-dessus -