Estou tentando criar um gráfico de barras empilhadas de duas barras usando o Plotly.
Encontrei este código:
from plotly import graph_objects as go
data = {
"original":[15, 23, 32, 10, 23],
"model_1": [4, 8, 18, 6, 0],
"model_2": [11, 18, 18, 0, 20],
"labels": [
"feature",
"question",
"bug",
"documentation",
"maintenance"
]
}
fig = go.Figure(
data=[
go.Bar(
name="Original",
x=data["labels"],
y=data["original"],
offsetgroup=0,
),
go.Bar(
name="Model 1",
x=data["labels"],
y=data["model_1"],
offsetgroup=1,
),
go.Bar(
name="Model 2",
x=data["labels"],
y=data["model_2"],
offsetgroup=1,
base=data["model_1"],
)
],
layout=go.Layout(
title="Issue Types - Original and Models",
yaxis_title="Number of Issues"
)
)
Fonte: https://dev.to/fronkan/stacked-and-grouped-bar-charts-using-plotly-python-a4p
Isso funciona, mas preciso ir um passo além, se possível. Preciso que os vários modelos apareçam em ambos os lados de cada conjunto de barras, pois estou adicionando outro parâmetro (sim à esquerda e não à direita). No exemplo, o azul está sempre na barra da esquerda e o laranja e/ou verde estão sempre à direita. Estou procurando uma maneira de fazer com que qualquer uma dessas cores possa aparecer tanto à esquerda quanto à direita de um conjunto de barras, mas com valores diferentes. Por exemplo, no exemplo, o recurso tem uma contagem de barras azuis de 15, mas talvez no lado direito do recurso o azul tenha um valor de 5.