我似乎无法正确获得下拉菜单框的布局。基本上我希望下拉框位于他们匹配问题的右侧并在同一行上。
有人可以帮忙吗?
我尝试了 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) 我正在使用 Dash 图形对象,而且我对它还很陌生。我试图传入一个图表,该图表在同一个图形上有 2 个散点图和一个条形图,但我希望条形图(绿色)位于它自己的第二个 y 轴上,因此它看起来比这里更好:
现在,从我的理解对短跑,我要传递一个go.Figure()对象,所以我定义了一个函数data和layout。我在 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) 我试图在单击搜索按钮时加载表,并提供 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) 我是 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代码:
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,但由于某种原因,仍然存在大于三位小数的数据。
有没有人对我如何解决这个问题有任何建议?
我正在尝试创建一个 .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)
我有一些 python 模块和 excel 文件以及一个包含图像和 …
我对网络应用程序的经验几乎为零,所以必须在这里问一些非常基本甚至放错地方的问题。
所以,我构建了一个 Plotly-Dash 应用程序,它在localhost:8050或127.0.0.1:8050.
问题是:如何从同一局域网中的另一台计算机访问此应用程序服务器?
到目前为止,我试图访问http://x.y.z.w/8050与x.y.z.w作为服务器的局域网IP地址(平云OK)。我得到的是:
Run Code Online (Sandbox Code Playgroud)This site can’t be reached x.y.z.w refused to connect.
当我尝试从服务器计算机本身访问服务器时也是如此,但使用 LAN IP 而不是localhost或127.0.0.1。平没问题。
请注意,服务器计算机(我的笔记本电脑)通过 VPN 连接到公司网络,但我认为这不会改变任何事情,因为这是 VPN 的全部目的。然后我将桌面远程连接到办公室的计算机并尝试访问我的服务器。
当我运行下面的代码时,它会加载网络,但它会留下一条错误消息,这是因为在某些部分没有数据,可以有条件帮助吗?
我上传了代码,但我不知道在哪里操作,我是 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) 我正在尝试基于 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) 我正在关注使用 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。以下是我迄今为止根据网络搜索结果建议尝试的修复方法:
plotly-dash ×10
python ×9
flask ×2
plotly ×2
brotli ×1
css ×1
dll ×1
graph ×1
html ×1
pyinstaller ×1
python-3.x ×1
typescript ×1