我想删除子图的边距:tools.make_subplots(请参阅代码图 g01)。horizontal_spacing或者vertical_spacing没有帮助。
对于正常的绘图,我可以使用 go.Margin(l=0, r=0 ..) 来完成此操作。(参见代码中的图 g11)。
我只希望子图有相同的行为。有人有什么想法吗?
import dash
from dash.dependencies import Output, Event
import dash_core_components as dcc
import dash_html_components as html
import base64
from plotly import tools
import plotly.plotly as py
import plotly.graph_objs as go
from collections import deque
import numpy as np
import random
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Graph(id='g01',),
dcc.Interval(id='graph-update', interval= 1000 * 1),
dcc.Graph(id='g11',),
dcc.Interval(id='graph-update', interval= 1000 * 1),
], style={
'margin-left' : '0',
'margin-right' : '0',
'padding-left' : …Run Code Online (Sandbox Code Playgroud) 我引用 @chriddyp 在此处发布的示例代码片段https://community.plot.ly/t/dash-datatable-updating-rows-with-dropdowns/6714以及链接帖子上发生的讨论
可重现的例子
import flask
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_table_experiments as dt
import pandas as pd
from dash.dependencies import Input, Output, State
def create_dropdown_list(df, column):
dd = df.loc[:, [column]].drop_duplicates().reset_index(drop=True)
dd['label'] = dd[column]
dd = dd.rename(columns={column:'value'}).to_dict(orient='records')
return dd
city_temp = pd.DataFrame({'City':['Montreal','New York','San Francisco'],
'Temperature':[68,83,66]})
server = flask.Flask(__name__)
app = dash.Dash(server=server, )
dropdown_list = create_dropdown_list(city_temp, 'City')
app.layout = html.Div([
dcc.Dropdown(
id='my-dropdown',
options=dropdown_list, # which looks like [{'label': 'Montreal', 'value': 'Montreal'}, {'label': 'New …Run Code Online (Sandbox Code Playgroud) 我无法将 CSS 样式正确添加到我的 Dash 应用程序中。
我想创建一个仪表板,左侧有一个侧栏,右侧有一个顶部栏,其中包含一些指标和下面的图,如下所示:

所以,在我的 App.py 文件中,我有:
app = dash.Dash()
app.layout = html.Div(
className="content",
children=[
html.Div(
className="left_menu",
children=[
html.Div(
'This is the left menu'
),
]
),
html.Div(
className="right_content",
children=[
html.Div(
className="top_metrics",
children=[
'This is top metrics'
]
),
html.Div(
'This down top metrics'
),
]
),
if __name__ == '__main__':
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
和CSS文件:
.content{
width: 100%;
background: #F7F7F7;
}
.right_content{
width:85%;
position:absolute;
top: 0;
right: 0;
}
.top_metrics {
background: #EAEAEA;
height: 200px;
width:85%;
position:absolute;
top: 0;
right: …Run Code Online (Sandbox Code Playgroud) plotly_express.line我看到修改悬停设置的唯一选项是hover_name和hover_data。我在修改悬停时面临的一些问题是:
看来即使我设置它仍然显示、和 的hover_data=None值。如何将其设置为仅显示我选择的悬停信息而不添加默认值?namexy
我找不到修改悬停框不透明度的设置。我显示了大量的悬停信息,因此我的悬停框很大,这使得很难知道我在框后面的绘图上的位置。
如何使其悬停在一行上显示与所有其他行上的链接数据列值相对应的悬停信息?
我正在尝试构建一个集成在 Flask 应用程序中的 Dash 应用程序。一切似乎都工作正常,但当我尝试在 Dash 应用程序中显示登录用户时,它显示为“无”。
我的应用程序结构如下:
example/
example/
dashapp/
static/
custom-css.css
templates/
base.html
home.html
login.html
__init__.py
app1.py
forms.py
models.py
routes.py
application.py
config.py
users.db
Run Code Online (Sandbox Code Playgroud)
我的 Dash 应用程序位于app1.py. 我尝试了多种方法来通过current_user但没有成功。不过结果很好home.html。我想问题是我的应用程序位于单独的文件中,而不是位于routes.py.
这是代码app.py:
import dash
import dash_html_components as html
from dashapp import application
from flask_login import login_required, current_user
app1 = dash.Dash(__name__, server = application, routes_pathname_prefix = '/app1/', assets_folder = 'static', assets_url_path = '/static')
app1.scripts.config.serve_locally = True
app1.css.config.serve_locally = True
app1.layout = html.Div(
children …Run Code Online (Sandbox Code Playgroud) 我正在使用Bootstrap dash 布局作为我的 Web 应用程序布局。但我希望文本位于红色区域,而不是位于页面顶部。我怎样才能实现它?
我尝试过使用"align":"center" and "justify":"center"但没有任何帮助
import dash_bootstrap_components as dbc
import dash_html_components as html
import dash
body = dbc.Container([
dbc.Row(
[
html.H1("test")
], justify="center", align="center"
)
]
)
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.SUPERHERO])
app.layout = html.Div([body])
if __name__ == "__main__":
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
了解使用flask-bootstrap有一些解决方法,但是如何使用dash-plotly-booststrap做同样的事情?
这是我如何在我的代码中实现它。我已经分别尝试了每种方法,并将它们全部用作未注释的代码行。无论我使用哪种方法组合,一旦我的仪表板加载,我仍然必须手动关闭抑制错误。
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.title = 'TEST'
app.config['suppress_callback_exceptions'] = True
app.config.suppress_callback_exceptions = True
Run Code Online (Sandbox Code Playgroud)
我也试过(没有任何运气):
app = dash.Dash(__name__, external_stylesheets=external_stylesheets,
suppress_callback_exceptions = True)
Run Code Online (Sandbox Code Playgroud)
和
import sys
class HaltCallback(Exception):
pass
@app.server.errorhandler(HaltCallback)
def handle_error(error):
print(error, file=sys.stderr)
return ('', 204)
Run Code Online (Sandbox Code Playgroud)
有没有其他可能的方法可以尝试抑制回调异常?我正在为我的老板制作一个仪表板,所以我真的很想在加载它时自动抑制错误。
我用热图构建了一个仪表板。但是我注意到 t=我的 y 轴中的一些标签没有显示。我只得到了有限的我不知道出了什么问题。这是我的仪表板:
\n\nimport dash\nimport dash_table\nimport plotly.graph_objs as go\nimport dash_html_components as html\nimport dash_core_components as dcc\nfrom dash.dependencies import Input,Output\nimport pandas as pd\nimport os\nimport numpy as np\n#correlation dataframe\ncorrelation_df = supervisor[[\'Caracter\xc3\xadsticas (D)\', \'Caracter\xc3\xadsticas (I)\',\n \'Caracter\xc3\xadsticas (S)\', \'Caracter\xc3\xadsticas (C)\', \'Motivaci\xc3\xb3n (D)\',\n \'Motivaci\xc3\xb3n (I)\', \'Motivaci\xc3\xb3n (S)\', \'Motivaci\xc3\xb3n (C)\', \'Bajo Stress (D)\',\n \'Bajo Stress (I)\', \'Bajo Stress (S)\', \'Bajo Stress (C)\',\'span\',\'Mean Team Performance\',\'employment span\',\'Pay to team size ratio\']]\ncorrelation_df = correlation_df.corr()\ncorr_fig = go.Figure()\ncorr_fig.add_trace(go.Heatmap(\n z= correlation_df.values,\n x= [\'Caracter\xc3\xadsticas (D)\', \'Caracter\xc3\xadsticas (I)\',\n \'Caracter\xc3\xadsticas (S)\', \'Caracter\xc3\xadsticas (C)\', \'Motivaci\xc3\xb3n …Run Code Online (Sandbox Code Playgroud) 我正在运行一个 Python Dash 应用程序,其中有几个回调和一个漂亮的图表。接下来我需要的是一个按钮,用于将一些结果以 Excel 格式复制到剪贴板(非常具体,是的)。我想我需要实现一个由按钮 onclick触发的javascript函数,但我不知道如何让Python应用程序调用javascript。有人可以帮我解决这个问题吗?:)
像这样的东西:
function copy_to_cliboard() {
var copyText = document.getElementById("text_input");
copyText.select();
copyText.setSelectionRange(0, 99999);
document.execCommand("copy");
alert("Copied the text: " + copyText.value);
}
Run Code Online (Sandbox Code Playgroud)
多谢!
因此,我正在尝试构建一个 Plotly sunburst 图,用于显示percentParent图中的每个元素。这适用于所有元素,除了当我只有一个中央节点/环/其他选项时(请参见下面的示例)
由于中心节点显然没有父节点,因此它似乎会出错并显示percentParent来自texttemplate字段的括号内的调用。但是,如果有 2 个(或更多)中心节点,它会自动计算每个中心节点占两个节点总和的百分比。
我的问题是:当我只有 1 个中心节点时,如何仅为中心节点隐藏此字段或使其正确显示“100%”?
示例代码:
import pandas as pd
import plotly.graph_objects as go
df = pd.DataFrame({'node_names': ['Center', 'Yes', 'No'],
'node_parent': ['', 'Center', 'Center'],
'node_labels': ['Center', 'Center_Yes', 'Center_No'],
'node_counts': [1000, 701, 299]})
fig = go.Figure(
data=go.Sunburst(
ids=df["node_names"],
labels=df["node_labels"],
parents=df["node_parent"],
values=df["node_counts"],
branchvalues="total",
texttemplate = ('%{label}<br>%{percentParent:.1%}'),
),
)
fig.show()
Run Code Online (Sandbox Code Playgroud) plotly-dash ×10
python ×8
plotly ×5
css ×1
dashboard ×1
flask ×1
flask-login ×1
hover ×1
html ×1
javascript ×1
pandas ×1
python-3.x ×1
reactjs ×1