Plotly - Carta Polar e Carta de Radar
Neste capítulo, aprenderemos como Carta Polar e Carta Radar podem ser feitas com a ajuda Plotly.
Em primeiro lugar, vamos estudar o mapa polar.
Carta Polar
O gráfico polar é uma variação comum dos gráficos circulares. É útil quando as relações entre os pontos de dados podem ser visualizadas mais facilmente em termos de raios e ângulos.
Nos gráficos polares, uma série é representada por uma curva fechada que conecta pontos no sistema de coordenadas polares. Cada ponto de dados é determinado pela distância do pólo (a coordenada radial) e o ângulo da direção fixa (a coordenada angular).
Um gráfico polar representa dados ao longo de eixos radiais e angulares. As coordenadas radiais e angulares são fornecidas com or e theta argumentos para go.Scatterpolar()função. Os dados theta podem ser categóricos, mas os dados numéricos também são possíveis e são os mais comumente usados.
O código a seguir produz um gráfico polar básico. Além dos argumentos r e theta, definimos o modo comolines (pode ser bem definido para marcadores, caso em que apenas os pontos de dados serão exibidos).
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)
O resultado é dado abaixo -
No exemplo a seguir, dados de um comma-separated values (CSV) fileé usado para gerar gráfico polar. As primeiras linhas depolar.csv são os seguintes -
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,
Insira o seguinte script na célula de entrada do notebook para gerar o gráfico polar conforme abaixo -
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)
A seguir está a saída do código mencionado acima -
Gráfico de radar
Um gráfico de radar (também conhecido como spider plot ou star plot) exibe dados multivariados na forma de um gráfico bidimensional de variáveis quantitativas representadas em eixos com origem no centro. A posição relativa e o ângulo dos eixos normalmente não são informativos.
Para um gráfico de radar, use um gráfico polar com variáveis angulares categóricas em go.Scatterpolar() função no caso geral.
O código a seguir renderiza um gráfico de radar básico com 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)
A saída mencionada abaixo é o resultado do código fornecido acima -