标签: plotly-dash

Dash 中的布局和下拉菜单 - Python

我似乎无法正确获得下拉菜单框的布局。基本上我希望下拉框位于他们匹配问题的右侧并在同一行上。

有人可以帮忙吗?

我尝试了 style={'display': 'inline-block', 'width:'X%'} 和 className = 'X columns' 的多种组合,但没有成功。

import dash
from dash.dependencies import Input, Output, State
import dash_core_components as dcc
import dash_html_components as html
import dash_auth

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div([
html.Div(
            [   
                html.Div(
                    [
                        html.H6("""Select your current industry""", 
                        style={'textAlign': 'right', 'font-weight':'bold', 'margin-left': '0em', 'margin-right': '2em', 'display': 'inline-block', 'width': '40%'})
                    ],      
                    ),

                dcc.Dropdown(
                            id = 'business_area_dropdown',
                            options=[
                                {'label': 'Academia', 'value': 'academia'},
                                {'label': 'Energy', 'value': 'energy'},
                                {'label': 'Research', 'value': 'research'}
                            ],
                            placeholder="Select …
Run Code Online (Sandbox Code Playgroud)

html css python plotly-dash

4
推荐指数
1
解决办法
2万
查看次数

在 Plotly Python 中添加辅助轴

我正在使用 Dash 图形对象,而且我对它还很陌生。我试图传入一个图表,该图表在同一个图形上有 2 个散点图和一个条形图,但我希望条形图(绿色)位于它自己的第二个 y 轴上,因此它看起来比这里更好:

在此处输入图片说明

现在,从我的理解对短跑,我要传递一个go.Figure()对象,所以我定义了一个函数datalayout。我在 plotly 文档中看到你可以使用 plotly express add secondary axis 但我不确定如何在我的框架工作中做到这一点。任何帮助将不胜感激!

这是我的代码:

def update_running_graph(n_intervals):
    df = pd.read_csv(filename)

    trace1 = go.Scatter(x=df['Timestamp'],
                        y=df['CLE'],
                        name='Crude',
                        mode='lines+markers')
    trace2 = go.Scatter(x=df['Timestamp'],
                        y=df['y_pred'],
                        name='Model',
                        mode='lines+markers')
    trace3 = go.Bar(x=df['Timestamp'],
                    y=df['ModelDiff'],
                    name='Diff',
                    )
    data = [trace1, trace2,trace3]
    layout = go.Layout(title='CLE vs Model')
    return go.Figure(data=data, layout=layout)
Run Code Online (Sandbox Code Playgroud)

python graph plotly plotly-dash

4
推荐指数
2
解决办法
2万
查看次数

如何从 app.callback 返回数据帧,并将我的作为输出作为 dbc.Table.from_dataframe

我试图在单击搜索按钮时加载表,并提供 ID/密码。我的输出是一个 dbc.Table.from_dataframe,它允许一个 df 参数;但是,当我将其用作输出属性时,出现错误。

以下是“my_table”中的可用属性: ['children', 'id', 'style', 'className', 'key', 'tag', 'size', 'bordered', 'borderless', 'striped' , 'dark', 'hover', 'responsive', 'loading_state']

我在这里阅读文档 https://dash-bootstrap-components.opensource.faculty.ai/l/components/table

我试过这样使用“儿童”,但也没有用。我知道使用 dcc 表我需要返回一个字典,但是我认为使用 dbc.Table.from_dataframe 我可以返回一个数据帧。

@app.callback(Output('my_table', 'df' ),
               [Input('search-button','n_clicks')],
               [State('input-id', 'value'),
               State('input-password', 'value')]
           )
def search_fi(n_clicks, iuser, ipasw):
    if n_clicks > 0:

        df = pd.DataFrame(
         {
             "First Name": ["Arthur", "Ford", "Zaphod", "Trillian"],
             "Last Name": ["Dent", "Prefect", "Beeblebrox", "Astra"],
         }
        return df
Run Code Online (Sandbox Code Playgroud)

python twitter-bootstrap plotly-dash

4
推荐指数
1
解决办法
2203
查看次数

从破折号的下拉列表中过滤行后显示数据表

我是 Dash 的新手。我想做一个应用程序,我可以从下拉过滤器中选择值,过滤数据集并显示数据表。我正在使用 dash_table。

我的示例应用程序代码如下。没有显示数据表。有谁知道我做错了什么?如何在破折号应用程序中呈现破折号表?

import dash
import dash_html_components as html
import dash_core_components as dcc
import dash_table as dt
from dash.dependencies import Input, Output
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/solar.csv')

app = dash.Dash(__name__)



states = df.State.unique().tolist()

app.layout = html.Div(
    children=[
    dcc.Dropdown(
            id='filter_dropdown',
            options=[{'label':st, 'value':st} for st in states],
            value = states[0]
            ),
    dt.DataTable(id='table-container') ]
)

@app.callback(
    Output('table-container', 'data'),
    [Input('filter_dropdown', 'value') ] )
def display_table(state):
    dff = df[df.State==state]
    return dff

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,有谁知道我在哪里可以找到带有代码的 dash 应用程序库集合?

python flask plotly-dash plotly-python

4
推荐指数
1
解决办法
3933
查看次数

如何舍入破折号表中的小数位

我有以下python代码:

import dash
import dash_html_components as html
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/dougmellon/rockies_dash/master/rockies_2019.csv')

def generate_table(dataframe, max_rows=10):
    return html.Table(
        # Header
        [html.Tr([html.Th(col) for col in dataframe.columns])] +

        # Body
        [html.Tr([
            html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
        ]) for i in range(min(len(dataframe), max_rows))]
    )


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H4('Batting Stats (2019)'),
    generate_table(df)
])

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

这是从这个 csv 文件(github)中提取数据:

在此处输入图片说明

当我运行以下代码时,

蟒蛇应用程序.py

它显示大于三位小数的数据 - 这不在我的 csv 文件中。

在此处输入图片说明

我已经尝试了三四次手动重新输入数据并将CSV重新上传到github,但由于某种原因,仍然存在大于三位小数的数据。

有没有人对我如何解决这个问题有任何建议?

python plotly-dash

4
推荐指数
2
解决办法
5488
查看次数

执行 Plotly Dash .exec 文件时出现 PyInstaller 错误

我正在尝试创建一个 .exe 文件来运行使用 Plotly Dash 创建的 python 仪表板。一旦我使用 PyInstaller 创建文件并尝试运行它,我就会收到此错误:

Traceback (most recent call last):
  File "app.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "/Users/mohamedmartino/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 623, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages/dash_core_components/__init__.py", line 12, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/np/m30g9mj57h72n68qxc2tq61m0000gn/T/_MEI2yKNs4/dash_core_components/package-info.json'
[85571] Failed to execute script app
Run Code Online (Sandbox Code Playgroud)
  • 我是编码新手,我无法弄清楚为什么找不到 dcc
    依赖项。有没有更好的方法将我的模块编译成一个
    可执行文件?

我有一些 python 模块和 excel 文件以及一个包含图像和 …

python pyinstaller plotly plotly-dash

4
推荐指数
1
解决办法
2256
查看次数

如何通过局域网访问 Plotly-Dash 应用服务器

我对网络应用程序的经验几乎为零,所以必须在这里问一些非常基本甚至放错地方的问题。

所以,我构建了一个 Plotly-Dash 应用程序,它在localhost:8050127.0.0.1:8050.

问题是:如何从同一局域网中的另一台计算机访问此应用程序服务器?

到目前为止,我试图访问http://x.y.z.w/8050x.y.z.w作为服务器的局域网IP地址(平云OK)。我得到的是:

This site can’t be reached
x.y.z.w refused to connect.
Run Code Online (Sandbox Code Playgroud)

当我尝试从服务器计算机本身访问服务器时也是如此,但使用 LAN IP 而不是localhost127.0.0.1。平没问题。


请注意,服务器计算机(我的笔记本电脑)通过 VPN 连接到公司网络,但我认为这不会改变任何事情,因为这是 VPN 的全部目的。然后我将桌面远程连接到办公室的计算机并尝试访问我的服务器。

plotly-dash

4
推荐指数
2
解决办法
4026
查看次数

无法正确读取 null (DASH) 的“数据”

当我运行下面的代码时,它会加载网络,但它会留下一条错误消息,这是因为在某些部分没有数据,可以有条件帮助吗?

问题

我上传了代码,但我不知道在哪里操作,我是 Dash 的新手,我对 javascript 的了解有限。

我的主文件

import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
import plotly
import random
import plotly.graph_objs as go
from collections import deque
import sqlite3
import pandas as pd

#popular topics: google, olympics, trump, gun, usa

app = dash.Dash(__name__)
app.layout = html.Div(
    [   html.H2('Live Twitter Sentiment'),
        dcc.Input(id='sentiment_term', value='trump', type='text'),
        dcc.Graph(id='live-graph', animate=False),
        dcc.Interval(
            id='graph-update',
            interval=1*1000
        ),
    ]
)


@app.callback(Output('live-graph', 'figure'),
                   [Input(component_id='sentiment_term', component_property='value')])


def update_graph_scatter(sentiment_term):
    try:
        conn = sqlite3.connect('twitter.db') …
Run Code Online (Sandbox Code Playgroud)

python flask python-3.x typescript plotly-dash

4
推荐指数
1
解决办法
1543
查看次数

在 Dash-Plotly 中调整下拉菜单选项的宽度

我正在尝试基于 Plotly 在 Python 中使用 Dash 构建一个应用程序。我很难调整下拉菜单选项的宽度。我在下面附上了代码和图片。我希望下拉选项的宽度与菜单宽度相同。

在此处输入图片说明

app.layout = html.Div(children=[
    html.H1(children='Welcome to Portfolio Construction Engine!'),
    html.Div(children='What would you like to do?', style={
        'font-style': 'italic',
        'font-weight': 'bold'
    }),
    html.Div([
        dcc.Dropdown(
            id='demo-dropdown',
            options=[
                {'label': 'Upload Scores', 'value': 'upload_scores'},
                {'label': 'Analyze Portfolios', 'value': 'analyze_portfoliio'},
                {'label': 'Generate Data for IC Engine', 'value': 'gen_data_ic_engine'}
            ],
            placeholder='Select a task...',
            style={
                'width': '50%'
            }
        ),
        html.Div(id='dd-output-container')
    ])
])
Run Code Online (Sandbox Code Playgroud)

python plotly-dash

4
推荐指数
1
解决办法
6249
查看次数

导入 Dash 时出错:“导入错误:导入 _brotli 时 DLL 加载失败:找不到指定的模块。”

我正在关注使用 Dash 的教程并尝试在此处找到的示例代码:https : //dash.plotly.com/layout

安装破折号并运行代码后,我在回溯中收到以下错误消息:

Traceback (most recent call last):
  File "app_example.py", line 7, in <module>
    import dash
  File "C:\Users\lizsc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\dash\__init__.py", line 1, in <module>
    from .dash import Dash, no_update  # noqa: F401
  File "C:\Users\lizsc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\dash\dash.py", line 18, in <module>
    from flask_compress import Compress
  File "C:\Users\lizsc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\flask_compress.py", line 10, in <module>
    import brotli
  File "C:\Users\lizsc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\brotli.py", line 8, in <module>
    import _brotli
ImportError: DLL load failed while importing _brotli: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

我使用的是 Windows 10,Python 3.8.5。以下是我迄今为止根据网络搜索结果建议尝试的修复方法:

  1. 卸载 dash,安装轮子,重新安装 …

python dll brotli plotly-dash

4
推荐指数
1
解决办法
2366
查看次数