Plotly - Bagan Kutub dan Bagan Radar

Dalam bab ini, kita akan mempelajari bagaimana Bagan Kutub dan Bagan Radar dapat dibuat dengan bantuan Plotly.

Pertama-tama mari kita pelajari tentang grafik kutub.

Bagan Kutub

Polar Chart adalah variasi umum dari grafik melingkar. Ini berguna ketika hubungan antara titik data dapat divisualisasikan dengan paling mudah dalam hal radius dan sudut.

Dalam Bagan Kutub, rangkaian diwakili oleh kurva tertutup yang menghubungkan titik-titik dalam sistem koordinat kutub. Setiap titik data ditentukan oleh jarak dari kutub (koordinat radial) dan sudut dari arah tetap (koordinat sudut).

Diagram kutub mewakili data di sepanjang sumbu radial dan sudut. Koordinat radial dan sudut diberikan denganr dan theta argumen untuk go.Scatterpolar()fungsi. Data theta dapat bersifat kategorikal, tetapi data numerik juga dimungkinkan dan paling umum digunakan.

Kode berikut menghasilkan bagan kutub dasar. Selain argumen r dan theta, kami menyetel mode kelines (ini dapat diatur ke penanda dengan baik dalam hal ini hanya titik data yang akan ditampilkan).

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)

Outputnya diberikan di bawah ini -

Dalam contoh data berikut dari a comma-separated values (CSV) filedigunakan untuk menghasilkan grafik kutub. Beberapa baris pertamapolar.csv adalah sebagai berikut -

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,

Masukkan skrip berikut di sel input notebook untuk menghasilkan grafik kutub seperti di bawah ini -

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)

Diberikan di bawah ini adalah output dari kode yang disebutkan di atas -

Bagan radar

Bagan Radar (juga dikenal sebagai file spider plot atau star plot) Menampilkan data multivariat berupa grafik dua dimensi variabel kuantitatif yang direpresentasikan pada sumbu yang berasal dari pusat. Posisi relatif dan sudut sumbu biasanya tidak informatif.

Untuk Bagan Radar, gunakan bagan kutub dengan variabel sudut kategorikal dalam format go.Scatterpolar() berfungsi dalam kasus umum.

Kode berikut membuat bagan radar dasar dengan 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)

Output yang disebutkan di bawah ini adalah hasil dari kode yang diberikan di atas -