Plotly Dash 上的 http-Link 未在 Spyder 中显示

问题描述 投票:0回答:1

我正在使用plotly dash 在浏览器中生成交互式仪表板。由于我在工作,我必须使用我们拥有的东西,没有机会升级/降级程序。 我正在使用 Python 3.11 和 Spyder IDE 3(工作中没有适合我的 Spyder 5)。 通常,在我获得 Python 3.11 之前,我会运行我的代码,并在控制台中显示“Running on http://127.0.0.1:8050/”。 现在我只得到:

当我访问 http 站点时,有我的绘图,我可以看到我想要的所有内容,但控制台上没有链接。 有人可以帮我改变这个吗?

这是我使用的一些代码:

import dash
from dash import Dash, html, dcc
import plotly.express as px
import numpy as np
import pandas as pd
import plotly.io as pio
from dash.dependencies import Input, Output
from IPython.display import display

pio.renderers.default = "browser"

### generate table
def generate_table(dataframe, max_rows=10):
    return html.Table([
        html.Thead(
            html.Tr([html.Th(col) for col in dataframe.columns])
        ),
        html.Tbody([
            html.Tr([
                html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
            ]) for i in range(min(len(dataframe), max_rows))
        ])
    ])

app = dash.Dash(__name__)

app.layout = html.Div(
    [
        html.Div(
            [
                html.H1("Übersicht: Risp und Inzidenzen - Datengrundlage"),
                html.P("Kriterium"),
                dcc.Dropdown(
                    id="kriteriumsdropdown",
                    options=[
                        {"label": i, "value": i}
                        for i in zs.Kriterium.drop_duplicates()
                    ],
                    value="Geschlecht",
                ),
                html.P("Einheit"),
                dcc.Dropdown(
                    id="einheitdropdown",
                    options=[
                        {
                            "label": "Anzahl",
                            "value": "Anzahl",
                        },
                        {"label": "Prozent", "value": "Prozent"},
                    ],
                    value="Prozent",
                ),
                dcc.Graph(id="Ohne Differenzierung"),
                html.H4(children='Übersicht Durchschnitte'),
                generate_table(zs_alter_durchschnitt)
            ]
        ),
        html.Div(
            [html.H2("Platzhalter")]
        ),  # hier Layout für rechts einfügen (wenn das klappt), z.B. für Durchschnittsrente/Durchschnittsalter gesamt
    ]
)

@app.callback(
    Output("Ohne Differenzierung", "figure"),
    [Input("einheitdropdown", "value"), Input("kriteriumsdropdown", "value")],
)
def updaten(einheitdropdown, kriteriumsdropdown):
    if kriteriumsdropdown == "Geschlecht":
        if einheitdropdown == "Prozent":
            figure1 = px.bar(
                mf,
                x="Konkret",
                y="Prozent",
                color="Konkret",
                barmode="group",
                labels={"Konkret": "Geschlecht"},
                # color_discrete_map= {"W": "pink", "M": "gray"}
                # wenn y stetig und nicht diskret ist: color_continuos_scale = px.colors.diverging.Picnic, range_color = [1,1000]
            )
        if einheitdropdown == "Anzahl":
            figure1 = px.bar(
                mf,
                x="Konkret",
                y="Anzahl",
                color="Konkret",
                barmode="group",
                labels={"Konkret": "Geschlecht"},
            )
        return figure1

if __name__ == '__main__':
    app.run_server(debug=True, port = 8050)
python spyder
1个回答
0
投票

我也有同样的问题!几个月后,今天我回到 Dash 项目,发现 URL 没有像以前一样显示。

您成功解决问题了吗?我尝试了一切,从 de 到重新安装 Spyder、Python 等,然后才意识到 Web 应用程序可以工作,但 URL 不起作用。

问候

© www.soinside.com 2019 - 2024. All rights reserved.