Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

ylim=0.0 is not well handled in polar plots #1603

Merged
merged 1 commit into from

3 participants

@ffteja

As you can see in the following source example, when set_xlim(0.0,5) is called, negatives values are still plotted in the polar plot. Whereas if set_xlim(0.01,5) or set_xlim(-0.01,5) are called, the drawing are as expected.

ylim 0 issue

from matplotlib.pyplot import figure, show
import numpy as np

x = np.arange(0,1,0.001)
y = np.arange(-2.0,0.0, 0.002)
fig = figure()

ax = fig.add_subplot(131, polar=True)
ax.plot(x, y)
ax.set_ylim(bottom= 0.0, top=5)

ax = fig.add_subplot(132, polar=True)
ax.plot(x, y)
ax.set_ylim(bottom= 0.01, top=5)

ax = fig.add_subplot(133, polar=True)
ax.plot(x, y)
ax.set_ylim(bottom= -0.01, top=5)

fig.show()
raw_input()

@dmcdougall dmcdougall merged commit 9b09708 into from
@ffteja

Thanks a lot

@mdboom mdboom deleted the branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Dec 17, 2012
  1. @mdboom

    Fix the xlim of polar plots

    mdboom authored
This page is out of date. Refresh to see the latest.
Showing with 4 additions and 9 deletions.
  1. +4 −9 lib/matplotlib/projections/polar.py
View
13 lib/matplotlib/projections/polar.py
@@ -57,14 +57,10 @@ def transform_non_affine(self, tr):
t *= theta_direction
t += theta_offset
- if rmin != 0:
- r = r - rmin
- mask = r < 0
- x[:] = np.where(mask, np.nan, r * np.cos(t))
- y[:] = np.where(mask, np.nan, r * np.sin(t))
- else:
- x[:] = r * np.cos(t)
- y[:] = r * np.sin(t)
+ r = r - rmin
+ mask = r < 0
+ x[:] = np.where(mask, np.nan, r * np.cos(t))
+ y[:] = np.where(mask, np.nan, r * np.sin(t))
return xy
transform_non_affine.__doc__ = Transform.transform_non_affine.__doc__
@@ -779,4 +775,3 @@ def drag_pan(self, button, key, x, y):
# result = self.transform(result)
# return mpath.Path(result, codes)
# transform_path_non_affine = transform_path
-
Something went wrong with that request. Please try again.