我想以 2x2 网格的样式并排绘制 4 个图形。我想在右下角的图表中附加一个下拉菜单,并带有允许更改颜色的回调。
我在下面有一个例子。但是,问题是我无法让图表和下拉列表适合矩阵中的内联 - 有没有办法实现这个?
from dash import Dash, dcc, html, Input, Output
import plotly.graph_objects as go
app = Dash(__name__)
f1 = go.Figure(go.Bar(x=["a", "b", "c"], y=[2, 3, 1], marker_color="Gold"))
f2 = go.Figure(go.Bar(x=["a", "b", "c"], y=[2, 3, 1], marker_color="Gold"))
f3 = go.Figure(go.Bar(x=["a", "b", "c"], y=[2, 3, 1], marker_color="Gold"))
f4 = go.Figure(go.Bar(x=["a", "b", "c"], y=[2, 3, 1], marker_color="Gold"))
app.layout = html.Div(children=[
dcc.Graph(id="1", figure=f1, style={'display': 'inline-block'}),
dcc.Graph(id="2", figure=f2, style={'display': 'inline-block'}),
dcc.Graph(id="3", figure=f3, style={'display': 'inline-block'}),
html.Div([
dcc.Dropdown(
id="dropdown",
options=["Gold", "MediumTurquoise", "LightGreen"],
value="Gold",
clearable=False), dcc.Graph(id="graph", style={'display': 'inline-block'})])])
@app.callback(
Output("graph", "figure"),
Input("dropdown", "value"),
)
def display_color(color):
fig = go.Figure(go.Bar(x=["a", "b", "c"], y=[2, 3, 1], marker_color=color))
return fig
if __name__ == "__main__":
app.run_server(debug=True)