Closed
Description
In matplotlib 1.5.3 (installed with pip on Ubuntu, both over python 2.7.6 and 3.4.3) there seems to be an inconsistency of automatic axes limits in polar plots when a scatter plot is used. I first saw the issue in this question on Stack Overflow, and it boils down to this short example comparing plot
and scatter
:
import matplotlib.pyplot as plt
r = range(8)
ph = [-0.2]*len(r)
fig,(ax1,ax2) = plt.subplots(ncols=2,subplot_kw={'polar':True})
ax1.plot(ph,r,'o')
ax2.scatter(ph,r)
ax1.set_title('plot')
ax2.set_title('scatter')
plt.show()
The left axes plots the points using plot
, and the axes limits are nicely adjusted. The right axes uses scatter
, and most of the points are missing as the limits are not updated correctly to fit the data. Note that the default radial (y) top limit would be 1, so there is some rescaling going on, but it is incorrect. Setting ax2.set_ylim(0,max(r))
of course reproduces the scaling of the left axes.