Radar plot – mi van a pókhálóban?

A vállalkozások vezetése során gyakran találkozunk olyan helyzetekkel, amikor több, egymással összefüggő mutatót kell egyszerre figyelembe venni. A hagyományos oszlopdiagram vagy vonaldiagram ilyenkor csak korlátozottan mutatja meg a teljes képet. A radar plot (vagy magyarul: pókháló diagram), amely kör alakú elrendezésben ábrázolja a változókat, lehetővé téve az egymás melletti összehasonlítást és a mintázatok gyors felismerését azonban jó megoldást kínál több változó értékének gyors áttekintésére.

Mi a radar plot lényege?

A radar plot egy középpontból kiinduló sugarak mentén helyezi el az egyes változókat. Minden tengelyhez (azaz változóhoz) hozzárendelünk egy skálát, majd az egyes értékeket a tengelyeken ábrázoljuk. A pontokat összekövet kapjuk a pókhálószerű formát. Ha több entitást (pl. több telephelyet vagy időszakot) akarunk összehasonlítani, akkor egyazon ábrán belül több ilyen vonalat is megrajzolhatunk (általában eltérő színekkel), ezzel tovább emelve az ábrázolt dimenziószámot.

Mikor érdemes használni?

A radar plot akkor igazán hasznos, ha:

  • több, azonos típusú mutatót akarunk egyszerre bemutatni,
  • a változók különböző mértékegységben vannak (mivel a radar plot-on minden azonos skálára kerül),
  • a pontos értékek helyett inkább egy áttekintést szeretnénk látni,
  • több szereplőt vagy időszakot szeretnénk vizuálisan összehasonlítani.

Előnyei

  • gyors mintázatfelismerés: egy pillantással látni lehet, hogy hol erős és hol gyenge a teljesítmény,
  • vizualitás: a pókháló forma könnyen értelmezhető még azok számára is, akik nem dolgoznak napi szinten adatelemzéssel,
  • összehasonlítás: több vonal egymásra rajzolva jól mutatja a különbségeket.

Hogyan értelmezzük?

  • A radar plotnál minél távolabb van egy pont a középponttól, annál magasabb az adott mutató értéke.
  • Ha több vonal van, akkor a nagyobb „területet lefedő” vonal jelzi az összességében jobb teljesítményt.
  • A kinyúló vonalak az adott területet mint az adott szereplő erősségét azonosítják (feltéve, hogy a nagyobb érték a jobb eredményt jelöli).
  • Ahol a vonal befelé húzódik, azon a területen fejlesztési lehetőség mutatkozik.

Például az alábbi ábrán három tanuló eredményei láthatók 5 iskolai tárgyból. Gyorsan leolvasható, hogy

  • piros kimagaslik matematikából, de minden másban gyengébb a másik két diáknál
  • zöld egyenletesen erős és ezen belül kimagaslik programozásból
  • kék pedig piroshoz hasonló profilú, egyedül zenében emelkedik ki.

 

Ha a pirossal, illetve kékkel jelölt tanulókat globálisan akarjuk összehasonlítani, akkor jó támpontot ad, ha színezéssel markánsabban jelenítjük meg a görbék alatti területeket. A nagyobb területet összességében jobb eredményt tükröz.

Ez alapján már könnyen kijelenthető, hogy kék tanuló összességében jobb eredményt ért el, mint piros, mert az ő értékei által kijelölt terület nagyobb, mint a piros tanuló pontjai által jelzett terület.

Fontos azonban észben tartani, hogy a radar plot nem alkalmas sok változó (>10-12) egyszerre történő bemutatására, mert a kép túlzsúfolttá válik. Emellett az értékek közötti távolság vizuálisan torzíthat, ha a változók nem hasonló fontosságúak. Ugyancsak zavaró lehet, hogy függetlenül a változók esetleg eltérő értéktartományától (pl. bevétel milliárd forintos nagyságrend, profit millió forintos nagyságrend) a radar plot „egyformának” fogja mutatni őket, pontosabban minden változót értéktartományát ugyanarra a skálára normalizálja.

A blogban bemutatott ábrák R-kódja: 

				
					 
library(fmsb)

# Create data: note in High school for several students
set.seed(99)
data <- as.data.frame(matrix( sample( 0:20 , 15 , replace=F) , ncol=5))
colnames(data) <- c("matematika" , "angol" , "biológia" , "zene" , "programozás" )
rownames(data) <- paste("mister" , letters[1:3] , sep="-")

# To use the fmsb package, I have to add 2 lines to the dataframe: the max and min of each variable to show on the plot!
data <- rbind(rep(20,5) , rep(0,5) , data)

# plot with default options:
svg("e:/_job4/blog/2025_aug/radar_plot/radarchart.svg", width = 8, height = 8)  # vektoros, webre ideális
radarchart(
  data,
  axistype = 1,
  pcol = c("red", "blue", "darkgreen"),   # vonalszínek
#  pfcol = c(rgb(1,0,0,0.3), rgb(0,0,1,0.3), rgb(0,0.5,0,0.3)),  # kitöltés áttetszően
  plwd = 4,                                # vonalvastagság
  plty = 1,                                # vonalstílus
  cglcol = "grey",                         # rácsvonal színe
  cglty = 1,                               # rácsvonal stílusa
  axislabcol = "black",                    # tengelyfelirat színe
  caxislabels = seq(0, 20, 5),              # tengely értékek
  cglwd = 1.5,                             # rácsvonal vastagság
  vlcex = 1.5                              # változónév betűméret
)
dev.off()

				
			

Ha szeretne egy tényleg különleges radar plotot, akkor látogasson el Tanya Shapiro oldalára (https://rpubs.com/tshapiro/super-radar-plots). Az alábbi ábra R-kódját szintén megtalálja ott.