如何使用Plotly创建Ternary覆盖层
Ternary图是显示组成数据的有用方式,其中三个变量相加等于一个常数值。Plotly是一个强大的绘图库,可以用于轻松创建交互式的Ternary图。在本教程中,我们将探讨如何使用Plotly创建Ternary覆盖层。
我们将演示两个示例来创建一个使用Plotly的覆盖层。到最后,我们将学习如何使用Plotly创建令人惊叹且具有信息量的Ternary覆盖层。要创建使用Plotly的Ternary覆盖层,我们使用”scatterternary”追踪类型。此追踪类型在三角形图上创建一个散点图,其中的组件A、B和C表示等边三角形的顶点。点在三角形内的位置表示每个数据点中每个组件的比例。
示例1
这是一个使用Plotly创建Ternary覆盖层的示例;在此示例中,我们使用”scatterternary”追踪类型。此追踪定义连接三角形图顶点的线条。在此示例中,首先我们在具有组件A、B和C的Ternary图上创建了一个散点图。”a”、”b”和”c”数组表示每个数据点中每个组件的比例。”marker”字典定义了图中标记的外观。”ternary”字典中的”sum”参数指定三个组件的总和应为1。”aaxis”、”baxis”和”caxis”字典定义了Ternary图的轴标签,接下来我们在”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选项来自定义图的外观。总的来说,三元叠加图可以用于可视化具有三个组成部分且其相对比重重要的数据,如化学、地质和生态学等领域。