✊🏿 Black Lives Matter. Please consider donating to Black Girls Code today.
⚡️ Concerned about the grid? Kyle Baranko teaches how to predicting peak loads using XGBoost. Register for the August webinar!

How to remove the gap behind the tail of an arrow created with plotly.py's add_annotation()?

I am using the plotly.graph_objects.Figure.add_annotation() function to add an arrow into my plot - see a simple example code below:

import plotly.graph_objects as go

fig = go.Figure()

fig.add_annotation(ax = 3, axref = 'x', ay = 2, ayref = 'y',
                   x = 4, xref = 'x', y = 2, yref = 'y',
                   arrowhead = 3)

fig.add_shape(x0 = 1, x1 = 3, xref = 'x',
              y0 = 1, y1 = 3, yref = 'y')

fig.add_shape(x0 = 4, x1 = 6, xref = 'x',
              y0 = 1, y1 = 3, yref = 'y')

fig.update_layout(xaxis_range = [0, 7], yaxis_range = [0, 4])

fig.show()

which renders the following image:

As you can see, there is a small gap between the left rectangle and the tail of the arrow. Is there a way to remove this gap, so that the arrow starts exactly as specified by the parameters ax and ay ? I have tried looking through the documentation to see if there may be other relevant parameters of the add_annotation() function but couldn’t find clues. Thanks!

Answered on SO.