Skip to content

Incorrect autoscaling of polar plot limits after scatter #7130

Closed
@adeak

Description

@adeak

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()

polar plot vs scatter with automatic limits

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions