Python-Dash从Excel文件创建堆叠条形图

Python-Dash从Excel文件创建堆叠条形图,python,python-3.x,plotly,plotly-dash,Python,Python 3.x,Plotly,Plotly Dash,如何转换这样的图形: df1 = pd.read_excel("C:/Users/Tim/PycharmProjects/firstdash/Analysis.xlsx") html.Div( [ html.H3("Graph 1"), dcc.Graph( id="g1", f

如何转换这样的图形:

df1 = pd.read_excel("C:/Users/Tim/PycharmProjects/firstdash/Analysis.xlsx")

     html.Div(
                [
                    html.H3("Graph 1"),
                    dcc.Graph(
                        id="g1",
                        figure={
                            "data": [
                                go.Bar(
                                    x=df1["Marketsegment"],
                                    y=df1["test"],
                                )]})],)

放入堆叠条形图。因此,一个酒吧,包括所有住宅和商业用不同的颜色堆叠起来

不知何故,我似乎无法让它发挥作用

我发现的只是这个语法,它对我不起作用:

trace1 = go.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[20, 14, 23],
    name='SF Zoo'
)
trace2 = go.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[12, 18, 29],
    name='LA Zoo'
)

data = [trace1, trace2]
layout = go.Layout(
    barmode='group'
)

我认为问题在于如何创建图形组件的figure属性和布局

试试这段代码,它会解决你的问题

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go

app = dash.Dash()

trace1 = go.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[20, 14, 23],
    name='SF Zoo'
)
trace2 = go.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[12, 18, 29],
    name='LA Zoo'
)

app.layout = html.Div([
    dcc.Graph(id='bar_plot',
              figure=go.Figure(data=[trace1, trace2],
                               layout=go.Layout(barmode='stack'))
              )
    ])
它产生以下结果: