From: <lee...@us...> - 2008-12-21 04:14:24
|
Revision: 6690 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6690&view=rev Author: leejjoon Date: 2008-12-21 04:14:20 +0000 (Sun, 21 Dec 2008) Log Message: ----------- Merged revisions 6688-6689 via svnmerge from https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_98_5_maint ........ r6688 | leejjoon | 2008-12-20 22:46:05 -0500 (Sat, 20 Dec 2008) | 1 line fix hatch bug in pdf backend ........ r6689 | leejjoon | 2008-12-20 23:07:26 -0500 (Sat, 20 Dec 2008) | 1 line fix dpi dependent offset of Shadow ........ Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/examples/pylab_examples/hatch_demo.py trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py trunk/matplotlib/lib/matplotlib/patches.py Property Changed: ---------------- trunk/matplotlib/ Property changes on: trunk/matplotlib ___________________________________________________________________ Modified: svnmerge-integrated - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-6685 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-6689 Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2008-12-21 04:07:26 UTC (rev 6689) +++ trunk/matplotlib/CHANGELOG 2008-12-21 04:14:20 UTC (rev 6690) @@ -1,8 +1,13 @@ +2008-12-20 fix the dpi-dependent offset of Shadow. - JJL + +2008-12-20 fix the hatch bug in the pdf backend. minor update + in docs and example - JJL + 2008-12-19 Add axes_locator attribute in Axes. Two examples are added. - JJL -2008-12-19 Update Axes.legend documnetation. /api/api_changes.rst is also - updated to describe chages in keyword parameters. +2008-12-19 Update Axes.legend documnetation. /api/api_changes.rst is also + updated to describe chages in keyword parameters. Issue a warning if old keyword parameters are used. - JJL 2008-12-18 add new arrow style, a line + filled triangles. -JJL Modified: trunk/matplotlib/examples/pylab_examples/hatch_demo.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/hatch_demo.py 2008-12-21 04:07:26 UTC (rev 6689) +++ trunk/matplotlib/examples/pylab_examples/hatch_demo.py 2008-12-21 04:14:20 UTC (rev 6690) @@ -1,18 +1,25 @@ """ -Hatching (pattern filled polygons) is supported currently on PS +Hatching (pattern filled polygons) is supported currently on PS and PDF backend only. See the set_patch method in http://matplotlib.sf.net/matplotlib.patches.html#Patch for details """ -import matplotlib -matplotlib.use('PS') -from pylab import figure +import matplotlib.pyplot as plt -fig = figure() -ax = fig.add_subplot(111) -bars = ax.bar(range(1,5), range(1,5), color='gray', ecolor='black') +fig = plt.figure() +ax1 = fig.add_subplot(121) +ax1.annotate("Hatch is only supported in the PS and PDF backend", (1, 1), + xytext=(0, 5), + xycoords="axes fraction", textcoords="offset points", ha="center" + ) +ax1.bar(range(1,5), range(1,5), color='gray', ecolor='black', hatch="/") + +ax2 = fig.add_subplot(122) +bars = ax2.bar(range(1,5), range(1,5), color='gray', ecolor='black') + patterns = ('/', '+', 'x', '\\') for bar, pattern in zip(bars, patterns): bar.set_hatch(pattern) -fig.savefig('hatch4.ps') + +plt.show() Modified: trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-12-21 04:07:26 UTC (rev 6689) +++ trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-12-21 04:14:20 UTC (rev 6690) @@ -942,7 +942,7 @@ def hatchPattern(self, lst): pattern = self.hatchPatterns.get(lst, None) if pattern is not None: - return pattern[0] + return pattern name = Name('H%d' % self.nextHatch) self.nextHatch += 1 @@ -1233,7 +1233,7 @@ def get_image_magnification(self): return self.image_dpi/72.0 - + def draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None): # MGDTODO: Support clippath here gc = self.new_gc() Modified: trunk/matplotlib/lib/matplotlib/patches.py =================================================================== --- trunk/matplotlib/lib/matplotlib/patches.py 2008-12-21 04:07:26 UTC (rev 6689) +++ trunk/matplotlib/lib/matplotlib/patches.py 2008-12-21 04:14:20 UTC (rev 6690) @@ -247,12 +247,12 @@ CURRENT LIMITATIONS: - 1. Hatching is supported in the PostScript backend only. + 1. Hatching is supported in the PostScript and the PDF backend only. 2. Hatching is done with solid black lines of width 0. - ACCEPTS: [ '/' | '\\' | '|' | '-' | '#' | 'x' ] + ACCEPTS: [ '/' | '\\' | '|' | '-' | '#' | 'x' ] (ps & pdf backend only) """ self._hatch = h @@ -373,7 +373,7 @@ self.patch = patch self.props = props self._ox, self._oy = ox, oy - self._update_transform() + self._shadow_transform = transforms.Affine2D() self._update() __init__.__doc__ = cbook.dedent(__init__.__doc__) % artist.kwdocd @@ -391,20 +391,20 @@ self.set_facecolor((r,g,b,0.5)) self.set_edgecolor((r,g,b,0.5)) - def _update_transform(self): - self._shadow_transform = transforms.Affine2D().translate(self._ox, self._oy) + def _update_transform(self, renderer): + ox = renderer.points_to_pixels(self._ox) + oy = renderer.points_to_pixels(self._oy) + self._shadow_transform.clear().translate(ox, oy) def _get_ox(self): return self._ox def _set_ox(self, ox): self._ox = ox - self._update_transform() def _get_oy(self): return self._oy def _set_oy(self, oy): self._oy = oy - self._update_transform() def get_path(self): return self.patch.get_path() @@ -412,6 +412,10 @@ def get_patch_transform(self): return self.patch.get_patch_transform() + self._shadow_transform + def draw(self, renderer): + self._update_transform(renderer) + Patch.draw(self, renderer) + class Rectangle(Patch): """ Draw a rectangle with lower left at *xy* = (*x*, *y*) with This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |