标签: plotly-dash

Python dash 服务器未更新

我正在通过情节学习 dash 的基础知识。下面的代码运行良好。

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

app = dash.Dash()

app.layout = html.Div([
    dcc.Input(id='input', value='Enter something here!', type='text'),
    html.Div(id='output')
])

@app.callback(
    Output(component_id='output', component_property='children'),
    [Input(component_id='input', component_property='value')]
)
def update_value(input_data):
    return 'Input: "{}"'.format(input_data)


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

但是当我运行另一个示例时,我得到了上面代码的输出。

请提出前进的方向。感谢您抽出宝贵的时间。

我尝试从命令提示符运行代码,但仍然不起作用。我更改了 debug='False' 但仍然不起作用

python flask plotly-dash

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

设置plotly-Dash散点图中悬停文本的长度

我在 Dash 中有一个散点图,其中文本属性(设置悬停时显示的文本)设置为从数据框中的特定列获取文本。

问题是一些悬停文本太长并且超出了页面。有没有办法让悬停长度固定,这样就不会发生这种情况?

我已经看到使用悬停格式来处理数值数据。但我的悬停信息是文本。

python plotly plotly-dash

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

根据特定条件对散点图点进行不同的着色

我有一个使用plotly.py制作的散点图,我想根据特定条件用不同的颜色为散点图中的某些点着色。我在下面附上了示例代码:

import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import plot

data = [4.1, 2.1, 3.1, 4.4, 3.2, 4.1, 2.2]

trace_1 = go.Scatter(
    x = [1, 2, 3, 4, 5, 6, 7],
    y = data
)

layout = go.Layout(
    paper_bgcolor='rgb(255,255,255)',
    plot_bgcolor='rgb(229,229,229)',
    title = "Sample Plot",
    showlegend = False,
    xaxis = dict(
        mirror = True,
        showline = True,
        showticklabels = True,
        ticks = 'outside',
        gridcolor = 'rgb(255,255,255)',
    ),
    yaxis = dict(
        mirror = True,
        showline = True,
        showticklabels = …
Run Code Online (Sandbox Code Playgroud)

plotly-dash plotly-python

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

如何删除 Plotly Dash 图表工具栏中的图标

目前我已经使用 python Plotly Dash 库开发了图表,我想自定义他们的内置图表工具栏

工具栏图片

python python-3.x plotly-dash

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

为什么我的 x 轴刻度在绘图图中没有正确排序

我正在尝试绘制几周内的销售趋势。但在 x 轴上,刻度没有按正确的排序顺序,这使我的图表看起来很奇怪。

图: 在此输入图像描述

正如您所看到的,圈出的周需要从起始点或轴开始。即使我对数据框中的日期进行了排序,为什么还会发生这种情况?

熊猫代码:

basic_df = filterDataFrameByDate(df,start_date,end_date)
df = basic_df.groupby(['S2PName',basic_df['S2BillDate'].dt.to_period(flag)], sort=False)['S2PGTotal'].agg([('totSale','sum'),('count','size')]).reset_index()
df.sort_values('S2BillDate',inplace=True)
df['S2BillDate'] = df['S2BillDate'].astype('str')
Run Code Online (Sandbox Code Playgroud)

我还注意到的另一件事是,当我从图例中取消选择“Samosa”时,刻度线会正确排列。

截屏: 在此输入图像描述

有人可以帮我解决这个问题吗?

熊猫代码和数据:

代码 :

 print(df['S2BillDate'].unique())
Run Code Online (Sandbox Code Playgroud)

操作:

    <PeriodArray>
['2020-02-03/2020-02-09', '2020-02-10/2020-02-16', '2020-02-17/2020-02-23',
 '2020-02-24/2020-03-01']
Length: 4, dtype: period[W-SUN]
Run Code Online (Sandbox Code Playgroud)

代码 :

   df = basic_df.groupby(['S2PName',basic_df['S2BillDate'].dt.to_period(flag)], sort=False)['S2PGTotal'].agg([('totSale','sum'),('count','size')]).reset_index()
Run Code Online (Sandbox Code Playgroud)

操作:

[537 rows x 4 columns]
                          S2PName             S2BillDate   totSale  count
0                          SAMOSA  2020-02-10/2020-02-16   4057.89    228
1                          COFFEE  2020-02-10/2020-02-16  10567.21    582
2                             TEA  2020-02-10/2020-02-16   6808.92    445
3                           POORI  2020-02-10/2020-02-16   7556.77    179
4                          PONGAL  2020-02-10/2020-02-16   4758.97    122
..                            ...                    ...       ...    ... …
Run Code Online (Sandbox Code Playgroud)

plotly plotly-dash

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

Dash 应用程序回调在数据框中追加新条目,并在与任何先前条目匹配时进行替换

我正在尝试构建一个破折号应用程序,它接受用户的输入并将每个条目附加到数据框中,但它正在替换旧条目并生成新条目。我不确定回调出了什么问题。还尝试构建一个逻辑,如果用户条目与数据帧的任何行匹配,那么只有它才会替换其他附加。

我们将非常感谢您的帮助:

@app.callback(Output('save-query', 'children'),
              [Input('save', 'n_clicks')],
              [State('ad_account_id', 'value'),
               State('app_id', 'value'),
               State('access_token', 'value'),
               State('app_secret', 'value'),
               State('metrics', 'value'),
               State('breakdown', 'value'),
               State('start-date', 'date'),
               State('end-date', 'date'),
               State('save-as', 'value')
               ],
              )
def save_query(clicks, ad_account_id, app_id, access_token, app_secret, metrics, breakdown,
               start_date, end_date, save):
    if clicks is not None:
        my_ad_account = ad_account_id
        my_app_id = app_id
        my_access_token = access_token
        my_app_secret = app_secret
        my_metrics = metrics
        my_breakdown = breakdown
        my_start_date = start_date
        my_end_date = end_date
        my_save = str.lower(save)
        data = [[my_save, my_ad_account, my_app_id, my_access_token, my_app_secret, my_metrics, my_breakdown,
                 my_start_date,
                 my_end_date]] …
Run Code Online (Sandbox Code Playgroud)

python python-3.x plotly-dash

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

python 中的 Plotly-Dash 股票应用程序,带有客户端回调(xaxis 缩放上的 yaxis 自动缩放)

我正在使用 xaxis 滑块在 dash-plotly (python) 中创建一个简单的股票图表应用程序。滑动 xaxis 时,我希望 yaxis 动态重新缩放到视图。我想我已经设法在通过“relayoutData”钩子滑动 xaxis 比例时触发回调函数。但不是更新 yaxis,脚本会引发错误。我不确定从回调函数更新布局的正确语法。有任何想法吗?

到目前为止,这是我的代码。它会运行,但 yaxis 是在运行时设置的,并且不会更新。

非常感谢您的帮助 =)

import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import numpy as np
import datetime

#some random values
a = datetime.datetime.today()
numdays = 100
dateList = []
for x in range (0, numdays):
    dateList.append(a - datetime.timedelta(days = x))
xy = [dateList,np.random.rand(100)]

app = dash.Dash()

app.title = 'Random'
dataS = go.Scatter(
        x = …
Run Code Online (Sandbox Code Playgroud)

python autoscalemode yaxis plotly-dash

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

(gcloud.app.deploy) 您的应用程序不满足 [python37] 类型的运行时的所有要求

当我尝试将 python/dash 应用程序部署到 GCP 应用程序引擎时,我收到以下消息:“错误:(gcloud.app.deploy) 您的应用程序不满足 [python37] 类型的运行时的所有要求。请更正错误,然后重试。”

哪些错误?这是我的 app.yaml 文件:

runtime: python37
env: flex

instance_class: F4_1G

resources:
  cpu: 1
  memory_gb: 8
  disk_size_gb: 10
                             
entrypoint: gunicorn -b :$PORT main:app

# handlers:
#  - url: ./assets
#  static_dir: assets
  
# https://cloud.google.com/appengine/docs/standard/python/config/appref
env_variables:
  PKL_BUCKET:  'susano-dash.appspot.com'
Run Code Online (Sandbox Code Playgroud)

这是我的 requirements.txt 文件:

Brotli==1.0.7
cachetools==4.1.0
certifi==2020.4.5.1
chardet==3.0.4
click==7.1.2
dash==1.11.0
dash-bootstrap-components==0.10.0
dash-core-components==1.9.1
dash-html-components==1.0.3
dash-renderer==1.4.0
dash-table==4.6.2
Flask==1.1.2
Flask-Compress==1.5.0
Flask-SQLAlchemy==2.4.3
future==0.18.2
google-api-core==1.17.0
google-api-python-client==1.8.4
google-auth==1.15.0
google-auth-httplib2==0.0.3
google-auth-oauthlib==0.4.1
google-cloud==0.34.0
google-cloud-core==1.3.0
google-cloud-storage==1.29.0
google-resumable-media==0.5.1
googleapis-common-protos==1.51.0
httplib2==0.18.1
idna==2.9
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
numpy==1.18.3
oauthlib==3.1.0
pandas==1.0.3
plotly==4.6.0 …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine app.yaml plotly-dash

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

加载页面时 Plotly Dash URL 路径名回调不会触发

我正在尝试使用 url 回调构建多页面 Dash 应用程序。我的应用程序名为 dash_apps.py 如下所示:

\n
from flask import Flask\nfrom flask import request\nimport dash\nimport dash_core_components as dcc\nimport dash_html_components as html\nfrom dash.dependencies import Input, Output, State\n\nserver = Flask(__name__)\napp = dash.Dash(\n    __name__,\n    server = server,\n    serve_locally = False,\n    requests_pathname_prefix = "/plotary/dash/",\n)\n\napp.layout = html.Div([\n        html.Div([\n        html.A([\n            html.Div(id="logo")\n        ],href=\'https://man-es.com\'),\n        html.Div([\n            html.H1(\'Keine Auswertung ausgew\xc3\xa4hlt. \')\n        ],id="description"),\n    ],\n    id="navbar")]\n)\n\n@app.callback(Output(\'description\', \'children\'),\n              [Input(\'url\', \'pathname\')])\ndef display_page(pathname):\n    return html.Div([\n        html.H1(\'Auswertung Nr {}\'.format(pathname))\n    ])\n\n@server.route(\'/plotary/dash/<int:report_id>\')\ndef create_report(report_id):\n    return app\n\nif __name__ == \'__main__\':\n    app.run_server(debug=True)\n
Run Code Online (Sandbox Code Playgroud)\n

并通过 wsgi.py 调用,如下所示:

\n
from dash_apps import …
Run Code Online (Sandbox Code Playgroud)

python callback flask plotly-dash

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

多选项卡破折号应用程序:将“dcc.Store”组件放置在不同的选项卡中

关于dcc.Store在多选项卡结构应用程序中使用的问题。我想保留/存储选项卡之间的数据切换。我的多页面/选项卡破折号应用程序结构如下所示:

  • 索引.py
  • 应用程序.py
    • 选项卡
      • tab1.py
        • 子选项卡1.py
        • 子选项卡2.py
      • tab2.py

index.py根据选择呈现每个文件的布局。

app.layout = html.Div([

    # tabs
    html.Div([

        dcc.Tabs(

            id="tabs",
            vertical=True,
            className="mb-3",
            persistence=True,

            children=[


                 dcc.Tab(label="tab1", value="tab1",
                         children=[dcc.Tabs(id="subtabs", persistence=True, 
                            children=[dcc.Tab(label='subtab1', value='subtab1'),
                                      dcc.Tab(label='subtab2', value='subtab2')
                            ],

                    )
                 ]),
                 dcc.Tab(label="tab2", value="tab2"),

            ],
            
        )

        ],

        className="row tabs_div"

    ),

        

        # Tab content
        html.Div(id="tab_content"),

])
Run Code Online (Sandbox Code Playgroud)

现在,我想在不同的子选项卡之间交换组件状态/数据。subtab1.py包含dcc.Graphanddata-table和 'subtab2.py contains a series of dcc.Graph组件。

我是否需要dcc.Store在两者中添加组件subtab1.pysubtab2.py存储各个组件并从中读取?我希望能够读取subtab1.pyinsubtab2.py和其他文件的组件状态。

python plotly plotly-dash

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