我有一个现有的Flask应用程序,我希望有一个到另一个应用程序的路由.更具体地说,第二个应用程序是Plotly Dash应用程序.如何在现有的Flask应用程序中运行我的Dash应用程序?
@app.route('/plotly_dashboard')
def render_dashboard():
# go to dash app
Run Code Online (Sandbox Code Playgroud)
我还尝试添加一个到Dash实例的路由,因为它是一个Flask应用程序,但我收到错误:
AttributeError: 'Dash' object has no attribute 'route'
Run Code Online (Sandbox Code Playgroud) Dlot by Plotly看起来是Python开发人员创建交互式Web应用程序的好方法,无需学习Javascript和前端Web开发.另一个具有类似目标和范围的伟大项目是Jupyter Dashboards.
各自的优点和缺点是什么?
特别是在多用户部署中?我还发现Plotly文档很不清楚究竟什么是开源,以及数据是否上传到他们或者是否可以离线完成绘图?底层的Plotly库显然有两种模式,但Dash运行的模式是什么?
如何更改绘图中的 x 和 y 轴标签,因为在 matplotlib 中,我可以简单地使用plt.xlabel但无法在绘图中执行此操作。
通过在数据框中使用此代码:
Date = df[df.Country=="India"].Date
New_cases = df[df.Country=="India"]['7day_rolling_avg']
px.line(df,x=Date, y=New_cases, title="India Daily New Covid Cases")
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
在此X和Y轴标记为X和Y中,如何将X和Y轴的名称更改为“日期”和“案例”
我尝试在 GC AppEngine 上部署应用程序。部署过程中没有错误,但应用程序无法运行(仅显示加载页面)。日志中唯一一个奇怪的原始日志
OpenBLAS WARNING - could not determine the L2 cache size on this system
Run Code Online (Sandbox Code Playgroud)
顺便说一句 - 它在我的本地机器上运行良好。
这是基于 Dash 框架的 python Web 应用程序
我的应用程序.yaml:
runtime: python37
service: service-name
instance_class: F2
entrypoint: gunicorn -b :$PORT main:app.server
Run Code Online (Sandbox Code Playgroud)
要求.txt:
Flask==1.0.2
dash==0.34.0
dash-html-components==0.13.4
dash-core-components==0.41.0
dash-table==3.1.11
gunicorn==19.9.0
google-cloud-pubsub==0.37.2
requests==2.21.0
pandas==0.23.4
Run Code Online (Sandbox Code Playgroud) 我需要隐藏一些组件,例如通过单击复选框(例如,图形或表格)。但是,文档没有为此提供合适的部分。提前致谢!
我正在尝试在 Pycharm 的 conda 环境中运行一个简单的 dash 应用程序,但是我遇到了标题中的错误。奇怪的是,除了这里之外,我在互联网上找不到提到这个错误的地方。代码很简单,因为我想要运行的只是一个简单的 dashapp;code 从这里获取代码。我尝试过在 conda 中的 python 版本之间切换(在 python 3.9、3.8 和 3.7 之间来回切换),但错误似乎仍然存在。我知道我也正确安装了它的所有依赖项,因为我没有收到任何导入错误。如果有人可以提供帮助,我将不胜感激。
编辑:按照 @coralvanda 的要求安装的 Dash 版本:

基本上,我只是对所有内容进行了 pip 安装,因此所有版本的软件包都是最新的。
我有一个情节明确的数字:
fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices")
我想改变一些细节,就像这样
fig.update_layout(
line_color="#0000ff", # ValueError: Invalid property specified for object of type plotly.graph_objs.Layout: 'line'
line=dict(
color='rgb(204, 204, 204)',
width=5
), # Bad property path: line
)
Run Code Online (Sandbox Code Playgroud)
但两次尝试(尝试我在这里研究的解决方案)都失败了,评论中给出了错误。
我也尝试fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices", template="ggplot2", color_discrete_map={"Gold": "green"})过没有效果。
请问我该如何进行这项工作?
是否可以在Jupyter笔记本中使用破折号应用程序,而不是在浏览器中提供和查看?
我的目的是,使得鼠标悬停在一个图表生成用于另一曲线图所需要的输入Jupter笔记本内链接的曲线图.
我正在更新一些代码以使用 Dash 和 plotly。绘图的主要代码是在一个类中定义的。我用 Dash 控件替换了一些 Bokeh 小部件,最后得到了一个如下所示的回调:
class MakeStuff:
def __init__(self, ..., **optional):
...
self.app = dash.Dash(...)
...
@self.app.callback(
dash.dependencies.Output('indicator-graphic', 'figure'),
[dash.dependencies.Input('start-time-slider', 'value'),
dash.dependencies.Input('graph-width-slider', 'value')]
)
def update_graphs(self,range_start,graph_width):
print(...)
Run Code Online (Sandbox Code Playgroud)
我正在关注Dash 网站上的一些示例。我能够运行示例,包括回调。在我的代码中,没有装饰器,代码运行时不会出错,按照我的预期生成图形和控件。(当然,代码不完整,但没有错误。)当我包含装饰器时,我得到这个错误:
NameError: 名称 'self' 未定义
我就这样累了,首先,只是模仿代码示例:
class MakeStuff:
def __init__(self, ..., **optional):
...
app = dash.Dash(...)
...
@app.callback(
dash.dependencies.Output('indicator-graphic', 'figure'),
[dash.dependencies.Input('start-time-slider', 'value'),
dash.dependencies.Input('graph-width-slider', 'value')]
)
def update_graphs(self,range_start,graph_width):
print(...)
Run Code Online (Sandbox Code Playgroud)
当然,变量“app”只在init函数的范围内知道,所以它不起作用也就不足为奇了,给出了类似的错误:
NameError:未定义名称“应用程序”
是否有一种简单的方法可以设置此装饰器使其工作,同时仍将我的代码保留在类定义中?我猜装饰器正在进行一些预处理,但我不太了解它,无法提出解决方案。
如何在同一页面的图片中添加多个图形显示?我正在尝试将 html.Div 组件添加到以下代码中以更新页面布局以在单个页面上添加更多类似的图形,但是这些新添加的图形不会显示在页面上,只能在图片中显示旧图形。我应该修改什么元素,比如说在浏览器的 dash 应用程序的单页上添加 3 次在上传的图像中显示的图形?
import dash
import dash_core_components as dcc
import dash_html_components as html
i[enter image description here][1]mport plotly.express as px
import pandas as pd
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options
df = pd.DataFrame({
"Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
"Amount": [4, 1, 2, 2, 4, 5],
"City": ["SF", "SF", "SF", "Montreal", "Montreal", "Montreal"]
})
fig = px.bar(df, x="Fruit", y="Amount", …Run Code Online (Sandbox Code Playgroud)