Plotly:如何防止标题与情节重叠?

vas*_*111 5 python plot python-3.x plotly

这是代码:

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Bar(
    name='Group 1',
    x=['Var 1', 'Var 2', 'Var 3'], y=[3, 6, 4],
    error_y=dict(type='data', array=[1, 0.5, 1.5]),
    width=0.15
))
fig.add_trace(go.Bar(
    name='Group 2',
    x=['Var 1', 'Var 2', 'Var 3'], y=[4, 7, 3],
    error_y=dict(type='data', array=[0.5, 1, 2]),
    width=0.15
))
fig.update_layout(barmode='group',
                  title=dict(
                            text = "Some <br> title <br> here",
                            x = 0.5,
                            y = 0.95,
                            xanchor =  'center',
                            yanchor = 'top',
                            #pad = dict(
                            #            t = 0
                            #           ),
                            font = dict(
                                        #family='Courier New, monospace',
                                        size = 40,
                                        #color='#000000'
                                        )
                            ))


fig.show()
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此输入图像描述

问题:如何在不减小绘图标题字体大小的情况下正确对齐标题​​?

当然,这只是示例,实际情节会有所不同。问题的主要思想是找到正确调整大字体标题的解决方案。

ves*_*and 4

调整边距并进行小幅调整y=0.95应该可以解决问题:

在此输入图像描述

完整代码:

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Bar(
    name='Group 1',
    x=['Var 1', 'Var 2', 'Var 3'], y=[3, 6, 4],
    error_y=dict(type='data', array=[1, 0.5, 1.5]),
    width=0.15
))
fig.add_trace(go.Bar(
    name='Group 2',
    x=['Var 1', 'Var 2', 'Var 3'], y=[4, 7, 3],
    error_y=dict(type='data', array=[0.5, 1, 2]),
    width=0.15
))
fig.update_layout(barmode='group',
                  title=dict(
                            text = "Some <br> title <br> here",
                            x = 0.5,
                            y = 0.90,
                            xanchor =  'center',
                            yanchor = 'top',
                            #pad = dict(
                            #            t = 0
                            #           ),
                            font = dict(
                                        #family='Courier New, monospace',
                                        size = 40,
                                        #color='#000000'
                                        )
                            ))

fig.update_layout(margin=dict(l=50, r=50, t=200, b=50),paper_bgcolor="LightSteelBlue")
fig.show()
Run Code Online (Sandbox Code Playgroud)

  • 也有人会发现它很有用:只有 `margin = dict(t = 200)` 也可以完成这项工作。 (4认同)