【发布时间】:2022-07-02 17:07:33
【问题描述】:
我需要在 Dash 中绘制 3D 散点图和数据表。
我的目的是能够使用数据表来过滤散点图。我的数据的第一行是目标。过滤器是否可以始终保留第一行?
例如,我尝试使用 solar.csv 构建模型:
from dash import Dash, dash_table
import pandas as pd
from dash.dependencies import Input, Output
import plotly.express as px
from dash import Dash, dash_table, html, dcc
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/solar.csv')
app = Dash(__name__)
app.layout = dash_table.DataTable(
df.to_dict('records'),
[{"name": i, "id": i} for i in df.columns],
filter_action='native'
)
app.layout = html.Div([
dash_table.DataTable(
id='datatable-interactivity',
data = df.to_dict('records'),
columns = [{"name": i, "id": i} for i in df.columns],
filter_action='native'
),
html.Div(id='scatter-container')
])
@app.callback(
Output(component_id='scatter-container', component_property='children'),
Input(component_id='datatable-interactivity', component_property="derived_virtual_data")
)
def update_scatter(all_rows_data):
dff = pd.DataFrame(all_rows_data)
fig = px.scatter(dff, x='Number of Solar Plants', y = 'Generation (GWh)')
return dcc.Graph(figure=fig)
if __name__ == '__main__':
app.run_server(debug=True)
假设第一行(加利福尼亚州)是我的目标,当我在过滤器字段中输入“Arizona”并因此在散点图中同时显示加利福尼亚州和亚利桑那州时,是否可以同时显示加利福尼亚州和亚利桑那州?
【问题讨论】:
标签: python plotly plotly-dash