Plotly:次要 y 轴导致右侧出现空白

Rim*_*cca 5 plotly plotly-dash

我正在制作一个折线图,其中包含大量在超高分辨率下运行的数据。在添加第二个 y 轴时,我发现,plotly svg 组件内的图表右侧会出现一个空白区域。当我关闭第二个轴时,那个空白空间就会消失。当图表在整个屏幕上最大化时,可以清楚地看到。

作为展示,我使用了plotly文档中的一个例子:

from plotly.subplots import make_subplots
import plotly.graph_objects as go

# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])

# Add traces
fig.add_trace(
    go.Scatter(x=[1, 2, 3], y=[40, 50, 60], name="yaxis data"),
    secondary_y=False,
)

fig.add_trace(
    go.Scatter(x=[2, 3, 4], y=[4, 5, 6], name="yaxis2 data"),
    secondary_y=True,
)

# Add figure title
fig.update_layout(
    title="Right margin",
    showlegend=False
)

# Set x-axis title
fig.update_xaxes(title_text="xaxis title")

# Set y-axes titles
fig.update_yaxes(title_text="<b>primary</b> yaxis title", secondary_y=False)
fig.update_yaxes(title_text="<b>secondary</b> yaxis title", secondary_y=True)

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

它产生以下图表,不再居中:

右侧空空间

我怎样才能摆脱那个空白空间?

Kri*_*aga 0

您可以在 中指定边距fig.update_layout()。我把右边距设置为0。

您还可以调整上边距、下边距和左边距。例如 margin = dict(l=50, r=50, b=50, t=50)

# Add figure title
fig.update_layout(
    title="Right margin",
    showlegend=False,
    margin=dict(r=0)
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 谢谢,这改善了图表。但是,如果您这样做,删除轴标题并查看宽度为 1900 和宽度为 600 的图表,您会发现在一种情况下左轴到边框的距离比右轴更大,反之亦然。反之亦然。右边框上有一些东西会随着图表大小而缩放。虽然设置相对于图表大小的边距是不可能的...... (2认同)