标签: plotly-dash

Python Dash,从输入文本中获取值

我有一个输入和一个按钮,我需要在按下按钮时保存文本输入的值。

dcc.Input(id='username', value='Initial Value', type='text'),

html.Button(id='submit-button', children='Submit'),
Run Code Online (Sandbox Code Playgroud)

我的回调中遗漏了一些东西吗?

@app.callback(Output('output_div','children' ),
          [Input('submit-button')],
          [State('input-element', 'value')],
          [Event('submit-button', 'click'])

 def update_output(input_element):
    print(input_element)
Run Code Online (Sandbox Code Playgroud)

谢谢

python-3.x plotly plotly-dash

3
推荐指数
1
解决办法
2万
查看次数

如何在绘图中使用聚合来绘制箱线图?

我需要根据数值空气质量模型的结果绘制一系列箱线图。由于这是大量数据,每次新模型结果准备好并将其存储在 PostgreSQL 中时,我都会触发聚合计算(最小值、最大值、四分位数等)。为了可视化目的,我将聚合加载到 pandas 中,并使用破折号绘制它们。我能够绘制时间序列的线图,但是我想要得到像这个例子这样的东西,而且是交互式的。

当我浏览示例时,它看起来总是需要原始数据来绘制箱线图(https://plot.ly/python/box-plots/#basic-box-plot)。我真的很喜欢表示和逻辑分离的概念。是否有可能根据聚合数据获得箱线图?

python pandas plotly plotly-dash

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

更改字体样式,同时保留绘图仪表板的外部样式表

我使用 dash 和plotly 构建了一个仪表板,同时使用对 dash 和plotly 的每个教程或文档中使用的外部样式表的引用。

现在我只想定制整个仪表板的字体(包括图中的文本),“没有其他”。我通过以下方式引用外部 css 源:

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
Run Code Online (Sandbox Code Playgroud)

我没有 CSS 经验。我可以覆盖引用源中的相关变量吗?如果可以的话我该怎么做?喜欢:

font-family: "Garamond";
Run Code Online (Sandbox Code Playgroud)

CSS 代码发布在 codepen 上,我也尝试在那里搜索,但没有帮助。

感谢您的帮助!

css python plotly plotly-dash

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

如何将 html 列表添加到 dash 布局

我需要动态地将单词列表添加到屏幕上特定位置的破折号布局(意味着单词列表随着时间而变化):

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



app = dash.Dash(__name__)


trends =['python', 'flask', 'jave']

html_lists = []


trends =['python', 'flask', 'jave']

app.layout = html.Div(
    html.Div(
        className="trend",
        children=[
            html.Ui(
                for i in trends:
                    html.Li(i))
        ], )
    )
print(html_ul_list)
if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

我需要网页上的输出在屏幕右侧如下所示:

趋势

  • Python
  • 爪哇

  • 等等 ...

python plotly plotly-dash

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

已在 macOS 上安装 Dash,但在运行脚本时出错

我正在尝试在 macOS 上通过 Jupiter 笔记本运行 dash。它确实被导入了,当我尝试运行 app.run_server 命令时它失败了。它给了我以下错误

[Errno 8] nodename 或 servname 提供,或未知

在此处输入图片说明

plotly-dash

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

在 Dash 中下载 csv 文件

我正在构建一个带有 Dash 的应用程序,该应用程序可以选择保存 csv 文件(在应用程序运行时创建),但我在保存 csv 文件时遇到问题。

我试图做的是使用html.A组件,并href使用此数据设置属性:

csv_string = df.to_csv(encoding='utf-8', index=True)
csv_string = "data:text/csv;charset=utf-8," + urllib.parse.quote(csv_string)
Run Code Online (Sandbox Code Playgroud)

csv_string是我分配给href属性的数据。我看到有人推荐这种方法,它似乎确实有效。

当数据框太大时出现问题。发生这种情况时,尝试保存文件时会出现下载错误。

  1. 你认为我对问题的分类正确吗?真的有可能是尺寸问题吗?

  2. 你认为我能做些什么来解决这个问题?有没有其他保存文件的解决方案?我需要说我不想将文件下载到静态文件夹。我需要有将文件下载到用户的默认下载文件夹的解决方案,或者让用户可以选择他想要将文件保存到的文件夹(可能会弹出窗口)。

编辑: 我找到了这个链接:http : //chandrewz.github.io/blog/downloading-large-csv-files-via-href,它准确地描述了我遇到的问题。有没有类似于作者在 Python 中建议的解决方案?

python csv save pandas plotly-dash

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

单击按钮时 Dash 下载内存中生成的文件:如何给出文件名?

我生成内存通过Excel文件pd.ExcelWriter,并BytesIO在我的Python3.8仪表应用点击事件。

一切正常。当我下载我的文件时,我收到此弹出消息,询问我是否要继续下载/打开生成的文件。但是,弹出消息显示了这个(我猜是base64编码的)字符串(或路径?),例如...ydaHdjhgk328AAAAnxsAA==,下载下载后会获得一组(随机分配的?)字符集作为文件名(例如ZySzsdn1.xlsx)。

我该如何调整它才能显示文件名并将其分配给类似的东西download.xlsx?我的猜测是这与base64编码的href.

生成excel文件的函数:

def write_product_file():
    output = BytesIO()
    writer = pd.ExcelWriter(output, engine="xlsxwriter")
    upload_df = pd.DataFrame()
    upload_df.to_excel(writer, index=False, sheet_name="sheet1")
    writer.save()
    return output
Run Code Online (Sandbox Code Playgroud)

我的 Dash 应用程序中的按钮:

html.Div(
  id="select-upload-form",
  style={"width": "100%"},
  children=[
    dbc.Button(
      "Download the upload form",
      id="download-excel",
      color="secondary",
      external_link="true",
      target="",
      href="",
    ),
  ],
),
Run Code Online (Sandbox Code Playgroud)

最后我的回调:

@app.callback(
    [
        Output("download-excel", "href"),
        Output("download-excel", "color"),
        Output("download-excel", "target"),
    ],
    [Input("download-excel", "n_clicks")],
)
def download_template_file(n_clicks):
    if n_clicks:
        excelfile = …
Run Code Online (Sandbox Code Playgroud)

filenames download button python-3.x plotly-dash

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

Plotly Dash 应用程序中的布局管理:如何定位 html div?

我正在创建一个dash应用程序,这是我的代码:

# import required packages
import dash
import dash_table
import dash_core_components as dcc
import dash_html_components as html
import dash_bootstrap_components as dbc
import plotly.graph_objs as go
import numpy as np
import pandas as pd


# define figure creation function
def create_figure():
    N = 100
    x_min = 0
    x_max = 10
    y_min = 0
    y_max = 10

    blue = '#6683f3'
    orange = '#ff9266'
    grey = '#e0e1f5'
    black = '#212121'

    x = np.linspace(x_min, x_max, N)
    y = np.linspace(y_min, y_max, N)
    XX, …
Run Code Online (Sandbox Code Playgroud)

html css python layout plotly-dash

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

有没有办法防止回调在破折号中触发?

我有以下回调:

@app.callback(
    [Output("useridPicker", "value"), Output("datePicker", "date"), ],
    [Input("url", "search")]
)
def update_form_default(url_search):
    return 111, dt.today()


@app.callback(
    Output("url", "search"),
    [Input("useridPicker", "value"), Input("datePicker", "date")]
)
def update_current_url(userid, date):
    return f"?userid=111&date=2020-06-29"
Run Code Online (Sandbox Code Playgroud)

我有一个用于选择用户 ID ( useridPicker) 的文本区域、一个用于选择日期 ( datePicker)的日期选择器和一个包含当前用户 ID 和当前日期 (“YYYY-MM-DD”) 作为参数的 url。

当我从 url 修改日期或用户 ID 时,我想更新 ( useridPicker) 和 ( datePicker) 中显示的值。反之亦然。

现在,我收到以下错误:

错误:发现依赖循环:useridPicker.value -> url.search -> useridPicker.value

在回调内部时,有没有办法防止另一个回调触发?为了避免这种循环依赖错误和回调之间可能的无限循环。

python plotly-dash

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

Plotly Dash:如何重置 dash-html.button 的“n_clicks”属性?

我在 plotly/dash 中有一个基本的数据表。我的目标是在按下上传按钮后上传(或为了示例而打印...)。

问题是,我不知道如何将按钮的 n_clicks 属性恢复为零。所以发生的事情是,在我第一次点击按钮后,只要有变化(添加行或更改/添加数字),它就会连续打印,但我想要的是每当我点击按钮时它只打印一次。

这是代码:

import dash
from dash.dependencies import Input, Output, State
import dash_table
import dash_daq as daq

import dash_core_components as dcc
import dash_html_components as html
import pandas as pd

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']


df = pd.read_csv('.../dummy_csv.csv')


app = dash.Dash(__name__)

app.layout = html.Div([
    html.Div(id='my-div'),

    dash_table.DataTable(
        id='adding-rows-table',
        style_data={
            'whiteSpace': 'normal',
            'height': 'auto'
        },
        style_table={
            'maxHeight': '800px'
            , 'overflowY': 'scroll'
        },
        columns=[
            {'name': i, 'id': i} for i in df.columns
        ],
        data=df.to_dict('records'),
        editable=True,
        row_deletable=True

    ),

    html.Button('+ Row', id='editing-rows-button', n_clicks=0),

    html.Button('Update', …
Run Code Online (Sandbox Code Playgroud)

python plotly-dash

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

标签 统计

plotly-dash ×10

python ×7

plotly ×4

css ×2

pandas ×2

python-3.x ×2

button ×1

csv ×1

download ×1

filenames ×1

html ×1

layout ×1

save ×1