Plotly Express:图中元素的顺序 (python)

Plotly Express: Order of elements in plot (python)

使用 Plotly Express 时,添加多条轨迹的最简单方法似乎是“添加轨迹便捷方法”,例如 fig.add_scatter。我的问题是,当使用这种方法时,在我看来似乎没有办法将添加的轨迹强制到绘图的顶部。

以下示例代码生成一个图形,其中红色“trace 1”标记隐藏在使用 Plotly Express 创建的蓝色标记后面。如何将这一层置于绘制顺序之上?我试过弄乱 stackgroup 参数,但这没有效果。

import numpy as np
import plotly.express as px

fig = px.scatter(x=np.random.rand(20000), y=np.random.rand(20000))

fig.add_scatter(x=np.random.rand(5), y=np.random.rand(5),
                mode='markers', marker=dict(size=40))

fig.show()

不在 Plotly Express 中,因为它不支持多轴,但是:

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

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

fig.add_trace(
    go.Scatter(x=np.random.rand(20000), y=np.random.rand(20000)),
    secondary_y=False
)

fig.add_trace(
    go.Scatter(x=np.random.rand(5), y=np.random.rand(5),
               mode='markers', marker=dict(size=40)),
    secondary_y=True
)

fig.show()

然后您可能需要按照说明对齐两个轴 here