问题描述
使用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中的说明对齐两个轴。