Revision: 4019
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4019&view=rev
Author: mdboom
Date: 2007-10-26 11:32:44 -0700 (Fri, 26 Oct 2007)
Log Message:
-----------
Can't drag zoom on a polar plot.
Finessing Agg drawing quality a little bit.
Modified Paths:
--------------
branches/transforms/lib/matplotlib/axes.py
branches/transforms/lib/matplotlib/backend_bases.py
branches/transforms/lib/matplotlib/projections/polar.py
branches/transforms/src/_backend_agg.cpp
Modified: branches/transforms/lib/matplotlib/axes.py
===================================================================
--- branches/transforms/lib/matplotlib/axes.py 2007-10-26 18:04:51 UTC (rev
4018)
+++ branches/transforms/lib/matplotlib/axes.py 2007-10-26 18:32:44 UTC (rev
4019)
@@ -1820,6 +1820,12 @@
#### Interactive manipulation
+ def can_zoom(self):
+ """
+ Return True if this axes support the zoom box
+ """
+ return True
+
def get_navigate(self):
"""
Get whether the axes responds to navigation commands
Modified: branches/transforms/lib/matplotlib/backend_bases.py
===================================================================
--- branches/transforms/lib/matplotlib/backend_bases.py 2007-10-26 18:04:51 UTC
(rev 4018)
+++ branches/transforms/lib/matplotlib/backend_bases.py 2007-10-26 18:32:44 UTC
(rev 4019)
@@ -1361,7 +1361,8 @@
self._xypress=[]
for i, a in enumerate(self.canvas.figure.get_axes()):
- if x is not None and y is not None and a.in_axes(event) and
a.get_navigate():
+ if x is not None and y is not None and a.in_axes(event) \
+ and a.get_navigate() and a.can_zoom():
self._xypress.append(( x, y, a, i, a.viewLim.frozen(),
a.transData.frozen()))
self.press(event)
Modified: branches/transforms/lib/matplotlib/projections/polar.py
===================================================================
--- branches/transforms/lib/matplotlib/projections/polar.py 2007-10-26
18:04:51 UTC (rev 4018)
+++ branches/transforms/lib/matplotlib/projections/polar.py 2007-10-26
18:32:44 UTC (rev 4019)
@@ -55,8 +55,11 @@
transform_non_affine.__doc__ = Transform.transform_non_affine.__doc__
def transform_path(self, path):
- path = path.interpolated(self._resolution)
- return Path(self.transform(path.vertices), path.codes)
+ vertices = path.vertices
+ if len(vertices) == 2 and vertices[0, 0] == vertices[1, 0]:
+ return Path(self.transform(vertices), path.codes)
+ ipath = path.interpolated(self._resolution)
+ return Path(self.transform(ipath.vertices), ipath.codes)
transform_path.__doc__ = Transform.transform_path.__doc__
transform_path_non_affine = transform_path
@@ -151,7 +154,7 @@
def refresh(self):
return self.base.refresh()
- RESOLUTION = 50
+ RESOLUTION = 75
def __init__(self, *args, **kwargs):
"""
@@ -377,6 +380,12 @@
return 1.0
### Interactive panning
+
+ def can_zoom(self):
+ """
+ Return True if this axes support the zoom box
+ """
+ return False
def start_pan(self, x, y, button):
angle = self._r_label1_position.to_values()[4] / 180.0 * npy.pi
Modified: branches/transforms/src/_backend_agg.cpp
===================================================================
--- branches/transforms/src/_backend_agg.cpp 2007-10-26 18:04:51 UTC (rev
4018)
+++ branches/transforms/src/_backend_agg.cpp 2007-10-26 18:32:44 UTC (rev
4019)
@@ -95,8 +95,8 @@
unsigned vertex(double* x, double* y) {
unsigned cmd = m_source->vertex(x, y);
if (m_quantize && agg::is_vertex(cmd)) {
- *x = int(*x) + 0.5;
- *y = int(*y) + 0.5;
+ *x = round(*x) + 0.5;
+ *y = round(*y) + 0.5;
}
return cmd;
}
@@ -389,7 +389,7 @@
}
trans.transform(&x1, &y1);
- if (!(fabs(x0 - x1) < 0.001 || fabs(y0 - y1) < 0.001)) {
+ if (!(fabs(x0 - x1) < 1e-4 || fabs(y0 - y1) < 1e-4)) {
path.rewind(0);
return false;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins