How can I change the size of my Dash Graph?

后端 未结 3 1113
谎友^
谎友^ 2021-01-04 10:40

I\'m running into layout difficulties with the plots on Dash. All the plots I generate with Dash seem to be auto sized to be very narrow, which makes it hard to actually vie

3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-04 11:25

    A Graph object contains a figure. Each figure has data and layout attributes.

    You can set the height in the layout.

    dcc.Graph(
        id="my-graph",
        figure={
            "data": [
                {"x": [1, 2, 3], "y": [4, 1, 2], "type": "bar"},
                {"x": [1, 2, 3], "y": [2, 4, 5], "type": "bar"},
            ],
            "layout": {
                "title": "My Dash Graph",
                "height": 700,  # px
            },
        },
    )
    

    According to the Plotly figure object schema, height must be a number greater than or equal to 10, and its default is 450 (px).

    Keep in mind that you can create a Graph object and set figure later, in a dash callback.

    For example, if the value of a dcc.Slider affects the figure attribute of your Graph you will have:

    import plotly.graph_objs as go
    
    dcc.Graph(id="my-graph")
    
    @app.callback(
        output=Output("my-graph", "figure"),
        inputs=Input("slider", "value")])
    def update_my_graph(value):
        data = go.Data(
            [
                go.Bar(x=[1, 2, 3], y=[4, 1, 2]),
                go.Bar(x=[1, 2, 3], y=[2, 4, 5]),
            ]
        layout = go.Layout(
            title="My Dash Graph",
            height=700
            )
        figure = go.Figure(data=data, layout=layout)
        return figure
    

提交回复
热议问题