Plotly-폴라 차트 및 레이더 차트

이 장에서는 Plotly 도움말을 사용하여 Polar Chart 및 Radar Chart를 만드는 방법을 배웁니다.

먼저 폴라 차트에 대해 공부합시다.

폴라 차트

폴라 차트는 원형 그래프의 일반적인 변형입니다. 반지름과 각도 측면에서 데이터 포인트 간의 관계를 가장 쉽게 시각화 할 수있는 경우에 유용합니다.

극좌표 차트에서 시리즈는 극 좌표계의 점을 연결하는 닫힌 곡선으로 표시됩니다. 각 데이터 포인트는 극점에서의 거리 (방사형 좌표)와 고정 방향에서의 각도 (각 좌표)에 의해 결정됩니다.

원형 차트는 방사형 및 각도 축을 따라 데이터를 나타냅니다. 방사형 및 각도 좌표는rtheta 인수 go.Scatterpolar()함수. 세타 데이터는 범주 형일 수 있지만 숫자 데이터도 가능하며 가장 일반적으로 사용됩니다.

다음 코드는 기본 폴라 차트를 생성합니다. r 및 theta 인수 외에도 mode를lines (데이터 포인트 만 표시되는 경우 마커로 설정할 수 있습니다.)

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)

출력은 다음과 같습니다.

다음 예제 데이터에서 comma-separated values (CSV) file폴라 차트를 생성하는 데 사용됩니다. 의 처음 몇 행polar.csv 다음과 같습니다-

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,

노트북의 입력 셀에 다음 스크립트를 입력하여 아래와 같이 폴라 차트를 생성합니다.

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)

다음은 위에서 언급 한 코드의 출력입니다.

레이더 차트

방사형 차트 (또는 spider plot 또는 star plot)는 중심에서 시작된 축에 표시된 양적 변수의 2 차원 차트 형태로 다변량 데이터를 표시합니다. 축의 상대적 위치와 각도는 일반적으로 정보가 없습니다.

방사형 차트의 경우 범주 형 각도 변수가있는 극 차트를 사용하십시오. go.Scatterpolar() 일반적인 경우에 기능.

다음 코드는 기본 레이더 차트를 렌더링합니다. 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)

아래 언급 된 출력은 위에 주어진 코드의 결과입니다.