import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(x=[1, 2, 3], y=[4, 5, 6],
name="yaxis1 data"))
fig.add_trace(go.Scatter(x=[2, 3, 4], y=[40, 50, 60],
name="yaxis2 data", yaxis="y2"))
fig.add_trace(go.Scatter(x=[4, 5, 6],
y=[40000, 50000, 60000],
name="yaxis3 data", yaxis="y3"))
fig.add_trace(go.Bar(
x=[5, 6, 7], y=[400000, 500000, 600000],
name="yaxis4 data", yaxis="y4"))
# Create axis objects
fig.update_layout(
xaxis=dict(
domain=[0.3, 0.7]
),
yaxis=dict(
title="yaxis title", titlefont=dict(color="#1f77b4"),
tickfont=dict(color="#1f77b4")),
yaxis2=dict(
title="yaxis2 title",
titlefont=dict(color="#ff7f0e"),
tickfont=dict(color="#ff7f0e"),
anchor="free", overlaying="y",
side="left", position=0.15),
yaxis3=dict(
title="yaxis3 title",
titlefont=dict(color="#d62728"),
tickfont=dict(color="#d62728"),
anchor="x", overlaying="y", side="right"),
yaxis4=dict(
title="yaxis4 title",
titlefont=dict(color="#9467bd"),
tickfont=dict(color="#9467bd"),
anchor="free", overlaying="y",
side="right", position=0.85)
)
# Update layout properties
fig.update_layout(
title_text="Four y-axes",
width=800,
)
fig.show()