Plotly 叠加面积图

Ammar Ali 2024年2月15日
Plotly 叠加面积图

本教程将讨论使用 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
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - Plotly Plot