如何使用Plotly建立三元疊加圖?
三元圖是一種顯示成分資料的有用方法,其中三個變數加起來等於一個常數值。Plotly是一個強大的繪相簿,可以輕鬆建立互動式三元圖。在本教程中,我們將探討如何使用Plotly建立三元疊加圖。
我們將說明兩個使用Plotly建立疊加圖的示例。最終,我們將學習使用Plotly建立令人驚歎且資訊豐富的三元疊加圖。要使用Plotly建立三元疊加圖,我們使用“scatterternary”軌跡型別。此軌跡型別在三元圖上建立一個散點圖,其中元件A、B和C表示等邊三角形的頂點。三角形內點的位 置表示每個資料點中每個元件的比例。
示例1
這是一個使用Plotly建立三元疊加圖的示例;這裡我們使用“scatterternary”軌跡型別。此軌跡定義連線三元圖頂點的線。在這個示例中,我們首先在具有元件A、B和C的三元圖上建立了一個具有三個點的散點圖。“a”、“b”和“c”陣列表示每個資料點中每個元件的比例。“marker”字典定義了圖上標記的外觀。“ternary”字典中的“sum”引數指定三個元件應加起來等於1。“aaxis”、“baxis”和“caxis”字典定義三元圖的軸標籤,接下來我們在“fig”中建立圖形,最後我們使用“fig.show()”函式來表示它。
import plotly.graph_objects as go
trace = go.Scatterternary(
a=[0.2, 0.4, 0.1],
b=[0.4, 0.1, 0.3],
c=[0.4, 0.5, 0.6],
mode='markers',
marker=dict(
symbol='circle',
color='blue',
size=10
)
)
layout = go.Layout(
ternary=dict(
sum=1,
aaxis=dict(title='Component A'),
baxis=dict(title='Component B'),
caxis=dict(title='Component C')
)
)
fig = go.Figure(data=[trace], layout=layout)
fig.show()
輸出

示例2
在這個例子中,程式碼首先在一個三元圖上生成一個散點圖,其中包含5個標記為A、B、C、D和E的點。然後,每個點都由其對三個變數的相對貢獻來定義,這三個變數由三角形的三個頂點表示。“ternary”屬性的“sum”引數設定為1,這意味著每個點的座標之和應為1。最後,我們使用“title”設定標題,並將高度設定為“500”;最後,我們使用“fig.show()”函式繪製它。
import plotly.graph_objects as go
fig = go.Figure(go.Scatterternary({
'mode': 'markers',
'a': [0.1, 0.3, 0.5, 0.7, 0.9],
'b': [0.2, 0.4, 0.6, 0.8, 0.1],
'c': [0.7, 0.3, 0.1, 0.4, 0.6],
'marker': {
'symbol': 100,
'color': ['red', 'green', 'blue', 'yellow', 'purple'],
'size': 10,
'line': {'width': 2, 'color': 'white'}
},
'text': ['A', 'B', 'C', 'D', 'E']
}))
fig.update_layout({
'ternary': {
'sum': 1,
'aaxis': {'title': 'Variable 1'},
'baxis': {'title': 'Variable 2'},
'caxis': {'title': 'Variable 3'}
},
'height': 500
})
fig.show()
輸出

我們瞭解到,三元疊加圖是一種使用三角形作為底座在三維空間中顯示資料的圖,其中三角形的三個角表示三個變數,它們的和是常數。Plotly是一個流行的Python庫,用於建立互動式視覺化,包括三元疊加圖。它提供多個函式來建立疊加圖;我們還可以透過修改頂點和資料列表以及調整軌跡的格式和圖形的佈局來自定義圖的外觀,方法是使用各種Plotly選項。總的來說,三元疊加圖可用於視覺化具有三個元件且相對比例很重要的資料,例如化學、地質學和生態學。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP