我是情节破折号的新手,并尝试运行这个谷歌搜索的代码来理解输出。当我在 Windows cmd 提示符下运行以下代码时,执行返回 URL - http://127.0.0.1:3003 在 Chrome 浏览器中粘贴上述内容时,浏览器窗口中会显示加载依赖项时出错。请找到下面的代码。
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import pandas as pd
df = pd.read_excel(
"https://github.com/chris1610/pbpython/blob/master/data/salesfunnel.xlsx?raw=True"
)
pv = pd.pivot_table(df, index=['Name'], columns=["Status"], values=['Quantity'], aggfunc=sum, fill_value=0)
trace1 = go.Bar(x=pv.index, y=pv[('Quantity', 'declined')], name='Declined')
trace2 = go.Bar(x=pv.index, y=pv[('Quantity', 'pending')], name='Pending')
trace3 = go.Bar(x=pv.index, y=pv[('Quantity', 'presented')], name='Presented')
trace4 = go.Bar(x=pv.index, y=pv[('Quantity', 'won')], name='Won')
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Sales Funnel Report'),
html.Div(children='''National Sales Funnel Report.'''),
dcc.Graph(
id='example-graph', …Run Code Online (Sandbox Code Playgroud) 我知道如何向绘图对象添加背景图像,但是,是否可以为 html.Div 或 html.H1 添加背景图像?
我在 Dash 中创建了一个工具,用户可以从 SQL Server 中提取数据,筛选出所需的行并编辑其中一列中的值。现在我必须在 SQL Server 中的新表中获取经过筛选和编辑的表。
我是 dash 的新手,无法找到直接导出到 SQL Server 或导出.csv到光盘上的特定位置并从那里使用 SQL Server 过程处理它的方法。有没有人遇到过这样的问题并且知道这是否可能?
我设法导出.csv,但它进入下载文件夹。
我现在可以将 Python Dash 与 Flask 集成,但是是否可以在单个 Flask 应用程序中拥有多个仪表板?原因是我希望为不同的用户组提供不同的仪表板,并且我希望每个仪表板能够独立于其他仪表板进行扩展。
我想在 python 的烛台图上绘制成交量剖面图,这会导致类似这样的结果。
我的主要 ohlc 数据将位于 pandas 数据框中。
Date, Open, High, Low, Close
2019-10-18, 54.09, 54.62, 53.35, 53.78
2019-10-17, 52.99, 54.16, 52.62, 53.93
2019-10-16, 52.92, 53.74, 52.51, 53.36
Run Code Online (Sandbox Code Playgroud)
然后我的卷信息将位于另一个像这样的数据框中。
Price, Volume
54.75, 150
54.50, 135
54.25, 140
54.00, 140
53.75, 125
53.50, 145
53.25, 130
53.00, 135
52.75, 155
52.50, 150
Run Code Online (Sandbox Code Playgroud)
我尝试过我所知道的几乎所有库,Matplotlib、Plotly、Bokeh。我尝试过简单地在烛台旁边绘制条形图,但缩放通常会关闭。我有兴趣使用 python 中的任何标准图表库,它可以以相当简单的方式产生这个结果。希望这里有人知道一些方法来做到这一点。
我创建了一个简单的 DASH 绘图应用程序。我需要为用户进行 LDAP 身份验证。该应用程序应该同时支持多个用户。
我查了一些参考资料,但没有任何帮助。我不想使用任何第三方开源产品,例如 keycloak、ngninx。
对此的一些帮助将非常感激。
使用dcc.Upload,您可以在 Dash Plotly 仪表板中构建拖放或基于按钮的上传功能。但是,文档中对处理特定文件类型(例如.zip. 这是上传 html 的片段:
dcc.Upload(\n id=\'upload_prediction\',\n children=html.Div([\n \'Drag and Drop or \',\n html.A(\'Select Files\'),\n \' New Predictions (*.zip)\'\n ]),\n style={\n \'width\': \'100%\',\n \'height\': \'60px\',\n \'lineHeight\': \'60px\',\n \'borderWidth\': \'1px\',\n \'borderStyle\': \'dashed\',\n \'borderRadius\': \'5px\',\n \'textAlign\': \'center\',\n \'margin\': \'10px\'\n },\n accept=".zip",\n multiple=True\n)\nRun Code Online (Sandbox Code Playgroud)\n\n然后,当我尝试使用以下代码片段检查上传的文件时:
\n\n@app.callback(Output(\'output_uploaded\', \'children\'),\n [Input(\'upload_prediction\', \'contents\')],\n [State(\'upload_prediction\', \'filename\'),\n State(\'upload_prediction\', \'last_modified\')])\ndef test_callback(list_of_contents, list_of_names, list_of_dates):\n for content in list_of_contents:\n print(content)\nRun Code Online (Sandbox Code Playgroud)\n\n上传后的content-type为\xe2\x80\x98data:application/x-zip-compressed;base64\xe2\x80\x99。如何在 Dash Plotly 中处理这种类型的文件(例如将其提取到某个地方)?
\n\n在plotly论坛中提出了类似的问题,但没有答案:\n https://community.plot.ly/t/dcc-upload-zip-file/33976
\n是否可以使用 Plotly Dash 创建线条颜色渐变的折线图(纯粹为了美观)?
我尝试使用类似的东西:
'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }
Run Code Online (Sandbox Code Playgroud)
绘图破折号中的整个图形代码示例:
dcc.Graph(
id='MORTGAGE_RATES',
figure={
'data': [
{ "x": MORTGAGE30US['date'],"y": MORTGAGE30US['value'],"mode": "lines","name": '30 YR', 'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }},
{ "x": MORTGAGE15US['date'],"y": MORTGAGE15US['value'],"mode": "lines","name": '15 YR',},
],
'layout': {
'title': 'MORTGAGE RATES',
"paper_bgcolor": "rgb(46, 54, 65)",
"plot_bgcolor": "rgb(46, 54, 65)",
'font': {
'color': "rgb(255,255,255)"
}
}
}
)
Run Code Online (Sandbox Code Playgroud) 我有一个动态创建一组按钮的函数:
def generate_team_button(team_shortName):
return dbc.Button(
str(team_shortName),
className="btn btn-primary",
id=str(team_shortName),
style={
"margin-right": "10px",
"margin-bottom": '10px',
},
n_clicks=0,
)
Run Code Online (Sandbox Code Playgroud)
这些按钮通过循环一组项目来显示
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_bootstrap_components as dbc
from dash.dependencies import Input
from dash.dependencies import Output
from dash.dependencies import State
import pandas as pd
data = {'teams': ['team1', 'team2', 'team3', 'team4']}
df_teams = pd.DataFrame(data)
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
app.layout = html.Div(
[
dbc.Row([
dbc.Col(
children=[generate_team_button(i) for i in df_teams['teams']]
),
]),
dbc.Row([
dbc.Col(
id='section',
#WANT TO …Run Code Online (Sandbox Code Playgroud) 我尝试了这个,就好像我打印了图形的初始状态,它说“无”。
app.layout = html.Div([
html.Div(
dcc.Graph(id = 'graph')
)
])
@app.callback(
Output('graph', 'figure'),
[Input('click', 'clickedData')])
def myfun(x):
...
return None
Run Code Online (Sandbox Code Playgroud)
但我收到错误:无法读取 null 的属性“布局”
我应该返回什么以便我的新图表返回到原始的空状态?
plotly-dash ×10
python ×10
plotly ×6
bokeh ×1
dashboard ×1
data-science ×1
flask ×1
integration ×1
ldap ×1
matplotlib ×1
pandas ×1
python-3.x ×1