0

使用 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()

示例绘图图

4

1 回答 1

1

不在 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()

plotly-express-order-of-elements-in-plot-python

然后,您可能需要按照此处的说明对齐两个轴。

于 2020-09-07T20:06:26.517 回答