plotly.py icon indicating copy to clipboard operation
plotly.py copied to clipboard

add_layout_image doesn't work with secondary_y

Open ebw44 opened this issue 4 years ago • 0 comments

Below is an example for which the second image is visible

fig = make_subplots(rows=1, cols=1, specs=[[{"secondary_y": True}]])

# Add trace
fig.add_trace(go.Scatter(x=[0, 0.5, 1, 2, 2.2], y=[1.23, 2.5, 0.42, 3, 1]))
fig.add_trace(go.Scatter(x=[0, 0.5, 1, 2, 2.2], y=[10.23, 20.5, 1.42, 30, 10]), secondary_y=True)
fig.update_yaxes(range=[0, 4], secondary_y=False)
fig.update_yaxes(range=[0, 40], secondary_y=True)

fig.add_layout_image(
    dict(
        source="https://images.plot.ly/language-icons/api-home/python-logo.png",
        xref="x",
        yref="y",
        x=0,
        y=1,
        sizex=1,
        sizey=1,
        sizing="stretch",
        opacity=1.0,
        layer="below",
    ),
    secondary_y=False,
)

fig.add_layout_image(
    dict(
        source="https://raw.githubusercontent.com/cldougl/plot_images/add_r_img/vox.png",
        xref="x",
        yref="y2",
        x=1.5,
        y=2,
        sizex=1,
        sizey=1,
        sizing="stretch",
        opacity=1.0,
        layer="below",
    ),
    secondary_y=True,
)

# Set templates
fig.update_layout(template="plotly_white")

fig.show()

newplot (4)

replacing yref="y2", by yref="y", the image becomes visible but is anchored with the primary y axis (visible because of the sizey=1 and also when moving the axis range) newplot (5)

replacing yref="y2", by yref="y3", the image becomes visible but it is the only visible element newplot (6)

ebw44 avatar Nov 12 '21 04:11 ebw44