我想弄清楚如何组织一个包含多个应用程序的破折号项目.所有示例都是单页应用程序,我希望将多个破折号组织为一个由gunicorn运行的项目(在docker容器内):
dash-project/
app1/
layout.py
data.py
app2/
layout.py
data.py
run.py( or run.sh)
Run Code Online (Sandbox Code Playgroud)
这是一个正确的方法吗?什么应该在里面,run.py或者run.sh,如果有的话?我如何使用gunicorn来提供多个应用程序?
我想将我在dash中制作的网站导出为静态PDF.这是我网站的代码(它只是一个包含3列的图表):
import dash
import dash_core_components as dcc
import dash_html_components as html
import pdfkit
from flask import Flask, render_template, make_response
app = dash.Dash()
app.layout = html.Div(
className="three columns",
children=html.Div([
dcc.Graph(
id='right-top-graph',
figure={
'data': [{
'x': [1, 2, 3],
'y': [3, 1, 2],
'type': 'bar'
}],
'layout': {
'height': 400,
'margin': {'l': 10, 'b': 20, 't': 0, 'r': 0}
}
}
),
])
)
app.css.append_css({
'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
})
if __name__ == '__main__':
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
我尝试使用pdfkit将此代码添加到我的脚本中,但它不起作用(收到一个错误,告诉我render_template()需要1个位置参数但是给出了2个):
rendered = render_template('pdf_template.html',app)
pdf = pdfkit.from_string(rendered, False)
response …Run Code Online (Sandbox Code Playgroud) 我正在使用Plotly-Dash并且需要我的文本注释的字体大小来缩放视口宽度,就像我的图形那样.对于我的布局不同的头,我能够直接设置font-size: '1vw',但vw不是用于设置的接受单元font-size的style一个属性dcc.Graph分量.这是相关的追溯:
ValueError:为scatter.textfont的'size'属性收到的元素无效.无效元素包括:['1vw','1vw','1vw','1vw','1vw','1vw','1vw' ,'1vw','1vw','1vw']
Run Code Online (Sandbox Code Playgroud)The 'size' property is a number and may be specified as: - An int or float in the interval [1, inf] - A tuple, list, or one-dimensional numpy array of the above
我认为如果dcc.Graph组件可以接受视口单元(例如style = {height: 30vw, width: 30vw})并简单地将它们转换为浏览器侧的像素,那么我应该能够执行类似的转换font-size.
在Python端有没有办法以像素为单位检索视口宽度,这样我就可以为字体大小执行自己的缩放逻辑?
以下是演示此行为的示例Dash应用程序:
import dash
from dash.dependencies import Input, Output
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
labels …Run Code Online (Sandbox Code Playgroud) 我想在 1 个 html 页面上有多个情节图而不使用 tools.make_subplots 方法。(我不想使用它,因为我发现它不容易阅读,而且我希望在每个子图面板中都有一个独特的图例和布局)。
我想用自己独特的布局定义2个图形,并在页面上任意排列它们。我想我知道如何使用 html.Div 对象使用 dash 来做到这一点,但我想知道是否有一种简单的方法可以只使用 plotly 来做到这一点?
尝试使用 Dash 运行简单的仪表板时出现错误。我在 Python 3.4 中使用 Spyder。我已经pip installed dash, dash_core_components, dash_html_compenents..
我的代码:
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='''
Dash: A web application framework for Python.
'''),
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
],
'layout': {
'title': 'Dash Data Visualization'
}
}
) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用破折号和绘图为 3d Quiver 或 Cone 绘制一些数据,并且我想通过间隔输入定期更新图形!
所以我设法为图表制作了动画,但问题是每次更新后相机角度和变焦都会不断重置。我有以下代码:
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
from dash.dependencies import Output, Input
import pickle
#reading initial data
with open("shared.pkl", "rb") as f:
quivDic = pickle.load(f)
quiver_3d = go.Cone(x = quivDic["X"], y = quivDic["Y"], z = quivDic["Z"],
u = quivDic["U"], v = quivDic["V"], w = quivDic["W"],
colorscale = 'Blues', name = "testScatter")
data = [quiver_3d]
layout = dict(title ="Test Quiver", showlegend=False, aspectratio=dict(x=1, y=1, z=0.8),
camera_eye=dict(x=1.2, y=1.2, z=0.6)) …Run Code Online (Sandbox Code Playgroud) 如何更改图像大小?我已经使用下面的代码行插入我的图像,但我似乎无法弄清楚你是如何让它变小的
html.Div(html.Img(src=app.get_asset_url('logo.png')))
Run Code Online (Sandbox Code Playgroud)
我试过了:
html.Div(html.Img(src=app.get_asset_url('logo.png')),style={'height':'10%'})
Run Code Online (Sandbox Code Playgroud)
有什么建议
是否有可能在 Dash (Python) 中为按钮编写回调函数以重新加载页面(例如浏览器中的更新按钮?
app.layout =html.Div([
html.Button(id="refresh"),
])
@app.callback(Output('???', '???'),
[Input('refresh', 'n_clicks')])
def refresh(n):
?
return
?
Run Code Online (Sandbox Code Playgroud) plotly-dash ×10
python ×8
plotly ×5
dashboard ×2
python-3.x ×2
css ×1
cytoscape ×1
flask ×1
image ×1
spyder ×1