Plotly 叠加面积图
Ammar Ali
2024年2月15日
本教程将讨论使用 Plotly 的 scatter()
函数的 stackgroup
参数创建堆积面积图。
Plotly 堆积面积图
堆积面积图包含多个不同数据框的区域。我们可以使用 scatter()
函数的 stackgroup()
参数在同一张图上绘制多个区域。
创建散点图后,我们可以使用 add_trace()
函数添加另一个区域,该函数在同一图中添加数据。
例如,让我们使用一些随机数据来创建散点图,然后使用 add_trace()
函数添加另一个区域。请参阅下面的代码。
import plotly.graph_objects as go
x = [1, 2, 3, 4]
plot = px.Figure(
go.Scatter(name="Data One", x=x, y=[100, 200, 500, 673], stackgroup="one")
)
plot.add_trace(
go.Scatter(name="Data Two", x=x, y=[56, 123, 982, 213], stackgroup="one")
)
plot.show()
输出:
我们还可以使用 groupnorm
参数更改图形的规范化,并将其值设置为堆栈组总和的百分比。
例如,让我们使用标准化值绘制上图。请参阅下面的代码。
import plotly.graph_objects as go
x = [1, 2, 3, 4]
plot = px.Figure(
go.Scatter(
name="Data One",
x=x,
y=[100, 200, 500, 673],
stackgroup="one",
groupnorm="percent",
)
)
plot.add_trace(
go.Scatter(name="Data Two", x=x, y=[56, 123, 982, 213], stackgroup="one")
)
plot.show()
输出:
我们可以使用 add_trace()
函数在创建散点图中添加另一个区域。尽管如此,我们也可以在创建图形时通过将数据保存在变量中然后使用该变量绘制堆积面积图来做到这一点。
例如,让我们再次创建堆积面积图。请参阅下面的代码。
import plotly.graph_objects as go
x = [1, 2, 3, 4]
data = [
go.Scatter(name="Data One", x=x, y=[100, 200, 500, 673], stackgroup="one"),
go.Scatter(name="Data Two", x=x, y=[56, 123, 982, 213], stackgroup="one"),
]
plot = px.Figure(data)
plot.show()
输出:
作者: Ammar Ali