Plotly - Biểu đồ Polar và Biểu đồ Radar

Trong chương này, chúng ta sẽ tìm hiểu cách tạo Polar Chart và Radar Chart với sự trợ giúp của Plotly.

Trước hết, chúng ta hãy nghiên cứu về biểu đồ cực.

Biểu đồ cực

Polar Chart là một biến thể phổ biến của đồ thị hình tròn. Nó rất hữu ích khi các mối quan hệ giữa các điểm dữ liệu có thể được hình dung dễ dàng nhất dưới dạng bức xạ và góc độ.

Trong Biểu đồ Cực, một chuỗi được biểu diễn bằng một đường cong khép kín nối các điểm trong hệ tọa độ cực. Mỗi điểm dữ liệu được xác định bởi khoảng cách từ cực (tọa độ xuyên tâm) và góc từ hướng cố định (tọa độ góc).

Biểu đồ cực đại diện cho dữ liệu dọc theo trục hướng tâm và góc. Các tọa độ bán kính và góc được cho vớirtheta lập luận cho go.Scatterpolar()chức năng. Dữ liệu theta có thể được phân loại, nhưng, dữ liệu số cũng có thể và được sử dụng phổ biến nhất.

Đoạn mã sau tạo ra một biểu đồ cực cơ bản. Ngoài các đối số r và theta, chúng tôi đặt chế độ thànhlines (nó có thể được đặt thành điểm đánh dấu tốt trong trường hợp đó chỉ các điểm dữ liệu sẽ được hiển thị).

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)

Đầu ra được đưa ra dưới đây -

Trong ví dụ sau, dữ liệu từ một comma-separated values (CSV) fileđược sử dụng để tạo ra biểu đồ cực. Một vài hàng đầu tiên củapolar.csv như sau -

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,

Nhập tập lệnh sau vào ô đầu vào của sổ ghi chép để tạo biểu đồ cực như bên dưới:

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)

Dưới đây là đầu ra của đoạn mã được đề cập ở trên -

Biểu đồ radar

Biểu đồ Radar (còn được gọi là spider plot hoặc là star plot) hiển thị dữ liệu đa biến dưới dạng biểu đồ hai chiều của các biến định lượng được biểu diễn trên các trục xuất phát từ trung tâm. Vị trí tương đối và góc của các trục thường không có thông tin.

Đối với Biểu đồ Radar, hãy sử dụng biểu đồ cực với các biến góc phân loại trong go.Scatterpolar() chức năng trong trường hợp chung.

Đoạn mã sau hiển thị biểu đồ radar cơ bản với 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)

Đầu ra được đề cập dưới đây là kết quả của đoạn mã đã cho ở trên -