- Plotly 教程
- Plotly - 首頁
- Plotly - 簡介
- Plotly - 環境設定
- Plotly - 線上和離線繪圖
- 在 Jupyter Notebook 中內聯繪圖
- Plotly - 包結構
- Plotly - 匯出為靜態影像
- Plotly - 圖例
- Plotly - 格式化座標軸和刻度
- Plotly - 子圖和嵌入圖
- Plotly - 條形圖和餅圖
- Plotly - 散點圖、Scattergl 圖和氣泡圖
- Plotly - 點圖和表格
- Plotly - 直方圖
- Plotly - 箱線圖、小提琴圖和等高線圖
- Plotly - Distplots、密度圖和誤差條形圖
- Plotly - 熱力圖
- Plotly - 極座標圖和雷達圖
- Plotly - OHLC 圖、瀑布圖和漏斗圖
- Plotly - 3D 散點圖和曲面圖
- Plotly - 新增按鈕/下拉選單
- Plotly - 滑塊控制元件
- Plotly - FigureWidget 類
- Pandas 和 Cufflinks 配合 Plotly 使用
- Matplotlib 和 Chart Studio 配合 Plotly 使用
- Plotly 有用資源
- Plotly - 快速指南
- Plotly - 有用資源
- Plotly - 討論
Plotly - 極座標圖和雷達圖
在本章中,我們將學習如何使用 Plotly 繪製極座標圖和雷達圖。
首先,讓我們學習一下極座標圖。
極座標圖
極座標圖是圓形圖的一種常見變體。當資料點之間的關係最容易以半徑和角度表示時,它非常有用。
在極座標圖中,一個序列由連線極座標系中點的閉合曲線表示。每個資料點由到極點的距離(徑向座標)和從固定方向的角度(角座標)確定。
極座標圖沿徑向和角軸表示資料。徑向和角座標分別使用go.Scatterpolar()函式的r和theta引數給出。theta 資料可以是分類的,但數值資料也是可能的,並且是最常用的。
以下程式碼生成一個基本的極座標圖。除了 r 和 theta 引數外,我們將 mode 設定為lines(它也可以設定為 markers,在這種情況下,只會顯示資料點)。
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)
輸出如下:
在下面的示例中,使用逗號分隔值 (CSV) 檔案中的資料來生成極座標圖。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)
以下是上述程式碼的輸出:
雷達圖
雷達圖(也稱為蜘蛛圖或星形圖)以二維圖的形式顯示多元資料,該圖的定量變量表示在從中心發出的軸上。軸的相對位置和角度通常沒有資訊量。
對於雷達圖,通常情況下,在go.Scatterpolar()函式中使用具有分類角變數的極座標圖。
以下程式碼使用Scatterpolar() 函式呈現一個基本的雷達圖:
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)
下面提到的輸出是上面給出的程式碼的結果:
廣告