如何使用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