From: <md...@us...> - 2007-09-20 13:57:33
|
Revision: 3864 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3864&view=rev Author: mdboom Date: 2007-09-20 06:57:32 -0700 (Thu, 20 Sep 2007) Log Message: ----------- Simplification of marker paths. Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-09-20 13:50:27 UTC (rev 3863) +++ branches/transforms/lib/matplotlib/lines.py 2007-09-20 13:57:32 UTC (rev 3864) @@ -815,7 +815,7 @@ path, self.get_transform()) - _tickhoriz_path = Path([[0.0, 0.5], [1.0, 0.5]]) + _tickhoriz_path = Path([[0.0, 0.5], [1.0, 0.5]], closed=False) def _draw_tickleft(self, renderer, gc, path): offset = renderer.points_to_pixels(self._markersize) marker_transform = Affine2D().scale(-offset, 1.0) @@ -830,7 +830,7 @@ path, self.get_transform()) - _tickvert_path = Path([[-0.5, 0.0], [-0.5, 1.0]]) + _tickvert_path = Path([[-0.5, 0.0], [-0.5, 1.0]], closed=False) def _draw_tickup(self, renderer, gc, path): offset = renderer.points_to_pixels(self._markersize) marker_transform = Affine2D().scale(1.0, offset) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2007-10-23 19:16:19
|
Revision: 3987 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3987&view=rev Author: mdboom Date: 2007-10-23 12:16:11 -0700 (Tue, 23 Oct 2007) Log Message: ----------- Fix bugs in log_demo.py Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-10-23 16:54:51 UTC (rev 3986) +++ branches/transforms/lib/matplotlib/lines.py 2007-10-23 19:16:11 UTC (rev 3987) @@ -284,7 +284,6 @@ self._xorig = npy.asarray([]) self._yorig = npy.asarray([]) self.set_data(xdata, ydata) - self._logcache = None def contains(self, mouseevent): """Test whether the mouse event occurred on the line. The pick radius determines @@ -386,6 +385,8 @@ self._xorig = x self._yorig = y self.recache() + else: + self._transformed_path = TransformedPath(self._path, self.get_transform()) def recache(self): #if self.axes is None: print 'recache no axes' @@ -418,7 +419,6 @@ self._xy = npy.concatenate((x, y), 1) self._x = self._xy[:, 0] # just a view self._y = self._xy[:, 1] # just a view - self._logcache = None # Masked arrays are now handled by the Path class itself self._path = Path(self._xy, closed=False) @@ -632,9 +632,7 @@ ACCEPTS: npy.array """ x = npy.asarray(x) - if x.shape != self._xorig.shape or npy.any(x != self._xorig): - self._xorig = x - self.recache() + self.set_data(x, self._yorig) def set_ydata(self, y): """ @@ -643,9 +641,7 @@ ACCEPTS: npy.array """ y = npy.asarray(y) - if y.shape != self._yorig.shape or npy.any(y != self._yorig): - self._yorig = y - self.recache() + self.set_data(self._xorig, y) def set_dashes(self, seq): """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2007-10-24 18:12:29
|
Revision: 3995 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3995&view=rev Author: mdboom Date: 2007-10-24 11:12:19 -0700 (Wed, 24 Oct 2007) Log Message: ----------- Fix masked array plotting again. Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-10-24 18:01:26 UTC (rev 3994) +++ branches/transforms/lib/matplotlib/lines.py 2007-10-24 18:12:19 UTC (rev 3995) @@ -378,8 +378,10 @@ else: x, y = args - x = npy.asarray(x) - y = npy.asarray(y) + if not ma.isMaskedArray(x): + x = npy.asarray(x) + if not ma.isMaskedArray(y): + y = npy.asarray(y) if ((x.shape != self._xorig.shape or npy.any(x != self._xorig)) or (y.shape != self._yorig.shape or npy.any(y != self._yorig))): self._xorig = x @@ -666,6 +668,11 @@ renderer.draw_path(gc, path, trans) + def _draw_steps(self, renderer, gc, path, trans): + # MGDTODO: Implement me + raise NotImplementedError("'steps' linestyle should be returning soon...") + + def _draw_dashed(self, renderer, gc, path, trans): gc.set_linestyle('dashed') if self._dashSeq is not None: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2007-11-15 15:15:22
|
Revision: 4304 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4304&view=rev Author: mdboom Date: 2007-11-15 07:15:21 -0800 (Thu, 15 Nov 2007) Log Message: ----------- Minor speed improvements. Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-11-15 15:14:47 UTC (rev 4303) +++ branches/transforms/lib/matplotlib/lines.py 2007-11-15 15:15:21 UTC (rev 4304) @@ -395,8 +395,6 @@ self._xorig = x self._yorig = y self.recache() - else: - self._transformed_path = TransformedPath(self._path, self.get_transform()) def recache(self): #if self.axes is None: print 'recache no axes' @@ -741,11 +739,11 @@ gc, Path.unit_circle(), transform, path, path_trans, rgbFace) - + _draw_pixel_transform = Affine2D().translate(-0.5, -0.5) def _draw_pixel(self, renderer, gc, path, path_trans): rgbFace = self._get_rgb_face() - transform = Affine2D().translate(-0.5, -0.5) - renderer.draw_markers(gc, Path.unit_rectangle(), transform, + renderer.draw_markers(gc, Path.unit_rectangle(), + self._draw_pixel_transform, path, path_trans, rgbFace) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2007-11-15 20:26:08
|
Revision: 4320 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4320&view=rev Author: mdboom Date: 2007-11-15 12:26:03 -0800 (Thu, 15 Nov 2007) Log Message: ----------- Fix gridlines in log scale. Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-11-15 20:05:46 UTC (rev 4319) +++ branches/transforms/lib/matplotlib/lines.py 2007-11-15 20:26:03 UTC (rev 4320) @@ -395,6 +395,8 @@ self._xorig = x self._yorig = y self.recache() + else: + self._transformed_path._invalid = self._transformed_path.INVALID_NON_AFFINE def recache(self): #if self.axes is None: print 'recache no axes' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2007-12-04 20:08:40
|
Revision: 4593 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4593&view=rev Author: mdboom Date: 2007-12-04 12:08:28 -0800 (Tue, 04 Dec 2007) Log Message: ----------- Fix direction of left and right caret markers. Modified Paths: -------------- branches/transforms/lib/matplotlib/lines.py Modified: branches/transforms/lib/matplotlib/lines.py =================================================================== --- branches/transforms/lib/matplotlib/lines.py 2007-12-04 20:07:59 UTC (rev 4592) +++ branches/transforms/lib/matplotlib/lines.py 2007-12-04 20:08:28 UTC (rev 4593) @@ -309,13 +309,13 @@ xyt = self.get_transform().transform(self._xy) xt = xyt[:, 0] yt = xyt[:, 1] - + if self.figure == None: print str(self),' has no figure set' pixels = self.pickradius else: pixels = self.figure.dpi/72. * self.pickradius - + if self._linestyle == 'None': # If no line, return the nearby point(s) d = npy.sqrt((xt-mouseevent.x)**2 + (yt-mouseevent.y)**2) @@ -387,7 +387,7 @@ if not ma.isMaskedArray(y): y = npy.asarray(y) not_masked += 1 - + if (not_masked < 2 or (x is not self._xorig and (x.shape != self._xorig.shape or npy.any(x != self._xorig))) or @@ -413,7 +413,7 @@ y = npy.asarray(self.convert_yunits(self._yorig), float) x = npy.ravel(x) y = npy.ravel(y) - + if len(x)==1 and len(y)>1: x = x * npy.ones(y.shape, float) if len(y)==1 and len(x)>1: @@ -447,7 +447,7 @@ Artist.set_transform(self, t) self._invalid = True # self._transformed_path = TransformedPath(self._path, self.get_transform()) - + def _is_sorted(self, x): "return true if x is sorted" if len(x)<2: return 1 @@ -456,7 +456,7 @@ def draw(self, renderer): if self._invalid: self.recache() - + renderer.open_group('line2d') if not self._visible: return @@ -481,7 +481,7 @@ tpath, affine = self._transformed_path.get_transformed_path_and_affine() lineFunc = getattr(self, funcname) lineFunc(renderer, gc, tpath, affine.frozen()) - + if self._marker is not None: gc = renderer.new_gc() self._set_gc_clip(gc) @@ -565,7 +565,7 @@ if self._invalid: self.recache() return self._xy - + def set_antialiased(self, b): """ True if line should be drawin with antialiased rendering @@ -596,7 +596,7 @@ 'steps' is equivalent to 'steps-pre' and is maintained for backward-compatibility. - + ACCEPTS: [ '-' | '--' | '-.' | ':' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post' | 'None' | ' ' | '' ] """ if linestyle not in self._lineStyles: @@ -693,12 +693,12 @@ def _draw_nothing(self, *args, **kwargs): pass - + def _draw_solid(self, renderer, gc, path, trans): gc.set_linestyle('solid') renderer.draw_path(gc, path, trans) - + def _draw_steps_pre(self, renderer, gc, path, trans): vertices = self._xy steps = ma.zeros((2*len(vertices)-1, 2), npy.float_) @@ -720,7 +720,7 @@ path = Path(steps) self._draw_solid(renderer, gc, path, trans) - + def _draw_steps_mid(self, renderer, gc, path, trans): vertices = self._xy steps = ma.zeros((2*len(vertices), 2), npy.float_) @@ -733,8 +733,8 @@ path = Path(steps) self._draw_solid(renderer, gc, path, trans) - + def _draw_dashed(self, renderer, gc, path, trans): gc.set_linestyle('dashed') if self._dashSeq is not None: @@ -747,12 +747,12 @@ gc.set_linestyle('dashdot') renderer.draw_path(gc, path, trans) - + def _draw_dotted(self, renderer, gc, path, trans): gc.set_linestyle('dotted') renderer.draw_path(gc, path, trans) - + def _draw_point(self, renderer, gc, path, path_trans): w = renderer.points_to_pixels(self._markersize) * \ self._point_size_reduction * 0.5 @@ -768,8 +768,8 @@ renderer.draw_markers(gc, Path.unit_rectangle(), self._draw_pixel_transform, path, path_trans, rgbFace) - - + + def _draw_circle(self, renderer, gc, path, path_trans): w = renderer.points_to_pixels(self._markersize) * 0.5 rgbFace = self._get_rgb_face() @@ -795,7 +795,7 @@ renderer.draw_markers(gc, self._triangle_path, transform, path, path_trans, rgbFace) - + def _draw_triangle_left(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset, offset).rotate_deg(90) @@ -819,7 +819,7 @@ renderer.draw_markers(gc, Path.unit_rectangle(), transform, path, path_trans, rgbFace) - + def _draw_diamond(self, renderer, gc, path, path_trans): side = renderer.points_to_pixels(self._markersize) transform = Affine2D().translate(-0.5, -0.5).rotate_deg(45).scale(side) @@ -827,7 +827,7 @@ renderer.draw_markers(gc, Path.unit_rectangle(), transform, path, path_trans, rgbFace) - + def _draw_thin_diamond(self, renderer, gc, path, path_trans): offset = renderer.points_to_pixels(self._markersize) transform = Affine2D().translate(-0.5, -0.5) \ @@ -836,7 +836,7 @@ renderer.draw_markers(gc, Path.unit_rectangle(), transform, path, path_trans, rgbFace) - + def _draw_pentagon(self, renderer, gc, path, path_trans): offset = 0.5 * renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset) @@ -844,7 +844,7 @@ renderer.draw_markers(gc, Path.unit_regular_polygon(5), transform, path, path_trans, rgbFace) - + def _draw_hexagon1(self, renderer, gc, path, path_trans): offset = 0.5 * renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset) @@ -852,7 +852,7 @@ renderer.draw_markers(gc, Path.unit_regular_polygon(6), transform, path, path_trans, rgbFace) - + def _draw_hexagon2(self, renderer, gc, path, path_trans): offset = 0.5 * renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(30) @@ -868,14 +868,14 @@ renderer.draw_markers(gc, self._line_marker_path, transform, path, path_trans) - + def _draw_hline(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(90) renderer.draw_markers(gc, self._line_marker_path, transform, path, path_trans) - + _tickhoriz_path = Path([[0.0, 0.5], [1.0, 0.5]]) def _draw_tickleft(self, renderer, gc, path, path_trans): offset = renderer.points_to_pixels(self._markersize) @@ -883,14 +883,14 @@ renderer.draw_markers(gc, self._tickhoriz_path, marker_transform, path, path_trans) - + def _draw_tickright(self, renderer, gc, path, path_trans): offset = renderer.points_to_pixels(self._markersize) marker_transform = Affine2D().scale(offset, 1.0) renderer.draw_markers(gc, self._tickhoriz_path, marker_transform, path, path_trans) - + _tickvert_path = Path([[-0.5, 0.0], [-0.5, 1.0]]) def _draw_tickup(self, renderer, gc, path, path_trans): offset = renderer.points_to_pixels(self._markersize) @@ -898,7 +898,7 @@ renderer.draw_markers(gc, self._tickvert_path, marker_transform, path, path_trans) - + def _draw_tickdown(self, renderer, gc, path, path_trans): offset = renderer.points_to_pixels(self._markersize) marker_transform = Affine2D().scale(1.0, -offset) @@ -929,21 +929,21 @@ renderer.draw_markers(gc, self._tri_path, transform, path, path_trans) - + def _draw_tri_up(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(180) renderer.draw_markers(gc, self._tri_path, transform, path, path_trans) - + def _draw_tri_left(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(90) renderer.draw_markers(gc, self._tri_path, transform, path, path_trans) - + def _draw_tri_right(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(270) @@ -958,24 +958,24 @@ renderer.draw_markers(gc, self._caret_path, transform, path, path_trans) - + def _draw_caretup(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(180) renderer.draw_markers(gc, self._caret_path, transform, path, path_trans) - + def _draw_caretleft(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) - transform = Affine2D().scale(offset).rotate_deg(90) + transform = Affine2D().scale(offset).rotate_deg(270) renderer.draw_markers(gc, self._caret_path, transform, path, path_trans) - + def _draw_caretright(self, renderer, gc, path, path_trans): offset = 0.5*renderer.points_to_pixels(self._markersize) - transform = Affine2D().scale(offset).rotate_deg(270) + transform = Affine2D().scale(offset).rotate_deg(90) renderer.draw_markers(gc, self._caret_path, transform, path, path_trans) @@ -990,7 +990,7 @@ renderer.draw_markers(gc, self._x_path, transform, path, path_trans) - + def update_from(self, other): 'copy properties from other to self' Artist.update_from(self, other) @@ -1163,14 +1163,14 @@ """ return self._dashcapstyle - + def get_solid_capstyle(self): """ Get the cap style for solid linestyles """ return self._solidcapstyle - + def is_dashed(self): 'return True if line is dashstyle' return self._linestyle in ('--', '-.', ':') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |