Possibly bug in the code - xy_range

Works ok if x_range and y_range are declared separately.

unit circle

pad = 5/100
xy_range = DataRange1d(start=-1-2*pad, end=1+2*pad, bounds = (-1-2*pad, 1+2*pad))
p_circle = figure(x_range=xy_range, y_range=xy_range)

If you use the same range for multiple axes, the axes will always have the same properties. In your particular case, the axes should be the same at all times. Meaning, if you try to pan the plot, it will be moved only diagonally.
It’s not a bug, it’s a feature.

That’s interesting. Thanks.