Gráfico de áreas apiladas Plotly
Este tutorial discutirá la creación de un gráfico de áreas apiladas utilizando el parámetro stackgroup
de la función scatter()
de Plotly.
Gráfico de área apilada de Plotly
Un gráfico de áreas apiladas contiene más de un área de diferentes marcos de datos. Podemos trazar más de un área en el mismo gráfico usando el parámetro stackgroup()
de la función scatter()
.
Después de crear un diagrama de dispersión, podemos agregar otra área usando la función add_trace()
, que agrega datos en la misma figura.
Por ejemplo, usemos algunos datos aleatorios para crear un diagrama de dispersión y luego agreguemos otra área usando la función add_trace()
. Vea el código a continuación.
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()
Producción:
También podemos cambiar la normalización del gráfico usando el argumento groupnorm
y estableciendo su valor en porcentaje para la suma del grupo de pila.
Por ejemplo, tracemos el gráfico anterior usando valores normalizados. Vea el código a continuación.
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()
Producción:
Podemos usar la función add_trace()
para agregar otra área al diagrama de dispersión después de que se haya creado. Aún así, también podemos hacer eso mientras creamos la figura guardando los datos dentro de una variable y luego usando esa variable para trazar el gráfico del área apilada.
Por ejemplo, volvamos a crear el gráfico de áreas apiladas. Vea el código a continuación.
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()
Producción: