SourceForge logo
SourceForge logo
Menu

matplotlib-checkins — Commit notification. DO NOT POST to this list, just subscribe to it.

You can subscribe to this list here.

2007 Jan
Feb
Mar
Apr
May
Jun
Jul
(115)
Aug
(120)
Sep
(137)
Oct
(170)
Nov
(461)
Dec
(263)
2008 Jan
(120)
Feb
(74)
Mar
(35)
Apr
(74)
May
(245)
Jun
(356)
Jul
(240)
Aug
(115)
Sep
(78)
Oct
(225)
Nov
(98)
Dec
(271)
2009 Jan
(132)
Feb
(84)
Mar
(74)
Apr
(56)
May
(90)
Jun
(79)
Jul
(83)
Aug
(296)
Sep
(214)
Oct
(76)
Nov
(82)
Dec
(66)
2010 Jan
(46)
Feb
(58)
Mar
(51)
Apr
(77)
May
(58)
Jun
(126)
Jul
(128)
Aug
(64)
Sep
(50)
Oct
(44)
Nov
(48)
Dec
(54)
2011 Jan
(68)
Feb
(52)
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
(1)
2018 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S
1
2
(2)
3
(4)
4
(4)
5
(2)
6
(2)
7
(6)
8
(4)
9
(1)
10
(1)
11
(2)
12
13
(1)
14
(5)
15
16
(3)
17
(4)
18
(8)
19
(4)
20
(2)
21
22
23
(2)
24
(2)
25
(1)
26
27
(3)
28
(2)
29
(2)
30
(1)
31
(6)




Showing results of 74

1 2 3 > >> (Page 1 of 3)
From: <md...@us...> - 2009年03月31日 18:00:12
Revision: 7019
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7019&view=rev
Author: mdboom
Date: 2009年03月31日 17:59:53 +0000 (2009年3月31日)
Log Message:
-----------
Merged revisions 7018 via svnmerge from 
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint
........
 r7018 | mdboom | 2009年03月31日 13:47:27 -0400 (2009年3月31日) | 2 lines
 
 Fix putmask update -- use np.ma.filled instead.
........
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/transforms.py
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7016
 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7018
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018
Modified: trunk/matplotlib/lib/matplotlib/transforms.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/transforms.py	2009年03月31日 17:47:27 UTC (rev 7018)
+++ trunk/matplotlib/lib/matplotlib/transforms.py	2009年03月31日 17:59:53 UTC (rev 7019)
@@ -970,8 +970,7 @@
 def get_points(self):
 if self._invalid:
 points = self._transform.transform(self._bbox.get_points())
- if ma.isMaskedArray(points):
- np.putmask(points, points.mask, 0.0)
+ points = np.ma.filled(points, 0.0)
 self._points = points
 self._invalid = 0
 return self._points
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7018
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7018&view=rev
Author: mdboom
Date: 2009年03月31日 17:47:27 +0000 (2009年3月31日)
Log Message:
-----------
Fix putmask update -- use np.ma.filled instead.
Modified Paths:
--------------
 branches/v0_98_5_maint/lib/matplotlib/transforms.py
Modified: branches/v0_98_5_maint/lib/matplotlib/transforms.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/transforms.py	2009年03月31日 15:23:54 UTC (rev 7017)
+++ branches/v0_98_5_maint/lib/matplotlib/transforms.py	2009年03月31日 17:47:27 UTC (rev 7018)
@@ -974,8 +974,7 @@
 def get_points(self):
 if self._invalid:
 points = self._transform.transform(self._bbox.get_points())
- if ma.isMaskedArray(points):
- np.putmask(points, points.mask, 0.0)
+ points = np.ma.filled(points, 0.0)
 self._points = points
 self._invalid = 0
 return self._points
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月31日 15:24:03
Revision: 7017
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7017&view=rev
Author: mdboom
Date: 2009年03月31日 15:23:54 +0000 (2009年3月31日)
Log Message:
-----------
Merged revisions 7016 via svnmerge from 
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint
........
 r7016 | mdboom | 2009年03月31日 11:22:06 -0400 (2009年3月31日) | 2 lines
 
 Fix bug when specifying both scale and label in the axes constructor. Change to use new numpy putmask API.
........
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/axes.py
 trunk/matplotlib/lib/matplotlib/transforms.py
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7014
 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7016
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py	2009年03月31日 15:22:06 UTC (rev 7016)
+++ trunk/matplotlib/lib/matplotlib/axes.py	2009年03月31日 15:23:54 UTC (rev 7017)
@@ -442,6 +442,8 @@
 sharex=None, # use Axes instance's xaxis info
 sharey=None, # use Axes instance's yaxis info
 label='',
+ xscale=None,
+ yscale=None,
 **kwargs
 ):
 """
@@ -548,6 +550,11 @@
 
 self._axes_locator = None
 
+ if xscale:
+ self.set_xscale(xscale)
+ if yscale:
+ self.set_yscale(yscale)
+
 if len(kwargs): martist.setp(self, **kwargs)
 
 if self.xaxis is not None:
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016
Modified: trunk/matplotlib/lib/matplotlib/transforms.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/transforms.py	2009年03月31日 15:22:06 UTC (rev 7016)
+++ trunk/matplotlib/lib/matplotlib/transforms.py	2009年03月31日 15:23:54 UTC (rev 7017)
@@ -971,8 +971,7 @@
 if self._invalid:
 points = self._transform.transform(self._bbox.get_points())
 if ma.isMaskedArray(points):
- points.putmask(0.0)
- points = np.asarray(points)
+ np.putmask(points, points.mask, 0.0)
 self._points = points
 self._invalid = 0
 return self._points
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月31日 15:22:25
Revision: 7016
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7016&view=rev
Author: mdboom
Date: 2009年03月31日 15:22:06 +0000 (2009年3月31日)
Log Message:
-----------
Fix bug when specifying both scale and label in the axes constructor. Change to use new numpy putmask API.
Modified Paths:
--------------
 branches/v0_98_5_maint/lib/matplotlib/axes.py
 branches/v0_98_5_maint/lib/matplotlib/transforms.py
Modified: branches/v0_98_5_maint/lib/matplotlib/axes.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/axes.py	2009年03月31日 15:13:24 UTC (rev 7015)
+++ branches/v0_98_5_maint/lib/matplotlib/axes.py	2009年03月31日 15:22:06 UTC (rev 7016)
@@ -439,6 +439,8 @@
 sharex=None, # use Axes instance's xaxis info
 sharey=None, # use Axes instance's yaxis info
 label='',
+ xscale=None,
+ yscale=None,
 **kwargs
 ):
 """
@@ -543,6 +545,11 @@
 self.set_navigate(True)
 self.set_navigate_mode(None)
 
+ if xscale:
+ self.set_xscale(xscale)
+ if yscale:
+ self.set_yscale(yscale)
+
 if len(kwargs): martist.setp(self, **kwargs)
 
 if self.xaxis is not None:
Modified: branches/v0_98_5_maint/lib/matplotlib/transforms.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/transforms.py	2009年03月31日 15:13:24 UTC (rev 7015)
+++ branches/v0_98_5_maint/lib/matplotlib/transforms.py	2009年03月31日 15:22:06 UTC (rev 7016)
@@ -975,8 +975,7 @@
 if self._invalid:
 points = self._transform.transform(self._bbox.get_points())
 if ma.isMaskedArray(points):
- points.putmask(0.0)
- points = np.asarray(points)
+ np.putmask(points, points.mask, 0.0)
 self._points = points
 self._invalid = 0
 return self._points
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月31日 15:13:38
Revision: 7015
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7015&view=rev
Author: mdboom
Date: 2009年03月31日 15:13:24 +0000 (2009年3月31日)
Log Message:
-----------
Merged revisions 7014 via svnmerge from 
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint
........
 r7014 | mdboom | 2009年03月31日 10:50:12 -0400 (2009年3月31日) | 2 lines
 
 Remove some global caches in order to remove a theoretical threading problem.
........
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/mathtext.py
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7001
 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7014
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月31日 14:50:12 UTC (rev 7014)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月31日 15:13:24 UTC (rev 7015)
@@ -653,17 +653,16 @@
 'sf' : 'cmss10',
 'ex' : 'cmex10'
 }
- fontmap = {}
 
 def __init__(self, *args, **kwargs):
 self._stix_fallback = StixFonts(*args, **kwargs)
 
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for key, val in self._fontmap.iteritems():
- fullpath = findfont(val)
- self.fontmap[key] = fullpath
- self.fontmap[val] = fullpath
+ self.fontmap = {}
+ for key, val in self._fontmap.iteritems():
+ fullpath = findfont(val)
+ self.fontmap[key] = fullpath
+ self.fontmap[val] = fullpath
 
 
 _slanted_symbols = set(r"\int \oint".split())
@@ -765,7 +764,6 @@
 This class will "fallback" on the Bakoma fonts when a required
 symbol can not be found in the font.
 """
- fontmap = {}
 use_cmex = True
 
 def __init__(self, *args, **kwargs):
@@ -775,14 +773,14 @@
 else:
 self.cm_fallback = None
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for texfont in "cal rm tt it bf sf".split():
- prop = rcParams['mathtext.' + texfont]
- font = findfont(prop)
- self.fontmap[texfont] = font
- prop = FontProperties('cmex10')
+ self.fontmap = {}
+ for texfont in "cal rm tt it bf sf".split():
+ prop = rcParams['mathtext.' + texfont]
 font = findfont(prop)
- self.fontmap['ex'] = font
+ self.fontmap[texfont] = font
+ prop = FontProperties('cmex10')
+ font = findfont(prop)
+ self.fontmap['ex'] = font
 
 _slanted_symbols = set(r"\int \oint".split())
 
@@ -891,18 +889,17 @@
 4 : 'STIXSize4',
 5 : 'STIXSize5'
 }
- fontmap = {}
 use_cmex = False
 cm_fallback = False
 _sans = False
 
 def __init__(self, *args, **kwargs):
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for key, name in self._fontmap.iteritems():
- fullpath = findfont(name)
- self.fontmap[key] = fullpath
- self.fontmap[name] = fullpath
+ self.fontmap = {}
+ for key, name in self._fontmap.iteritems():
+ fullpath = findfont(name)
+ self.fontmap[key] = fullpath
+ self.fontmap[name] = fullpath
 
 def _map_virtual_font(self, fontname, font_class, uniindex):
 # Handle these "fonts" that are actually embedded in
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7014
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7014&view=rev
Author: mdboom
Date: 2009年03月31日 14:50:12 +0000 (2009年3月31日)
Log Message:
-----------
Remove some global caches in order to remove a theoretical threading problem.
Modified Paths:
--------------
 branches/v0_98_5_maint/lib/matplotlib/mathtext.py
Modified: branches/v0_98_5_maint/lib/matplotlib/mathtext.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/mathtext.py	2009年03月30日 22:57:31 UTC (rev 7013)
+++ branches/v0_98_5_maint/lib/matplotlib/mathtext.py	2009年03月31日 14:50:12 UTC (rev 7014)
@@ -652,17 +652,16 @@
 'sf' : 'cmss10',
 'ex' : 'cmex10'
 }
- fontmap = {}
 
 def __init__(self, *args, **kwargs):
 self._stix_fallback = StixFonts(*args, **kwargs)
 
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for key, val in self._fontmap.iteritems():
- fullpath = findfont(val)
- self.fontmap[key] = fullpath
- self.fontmap[val] = fullpath
+ self.fontmap = {}
+ for key, val in self._fontmap.iteritems():
+ fullpath = findfont(val)
+ self.fontmap[key] = fullpath
+ self.fontmap[val] = fullpath
 
 
 _slanted_symbols = set(r"\int \oint".split())
@@ -764,7 +763,6 @@
 This class will "fallback" on the Bakoma fonts when a required
 symbol can not be found in the font.
 """
- fontmap = {}
 use_cmex = True
 
 def __init__(self, *args, **kwargs):
@@ -774,14 +772,14 @@
 else:
 self.cm_fallback = None
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for texfont in "cal rm tt it bf sf".split():
- prop = rcParams['mathtext.' + texfont]
- font = findfont(prop)
- self.fontmap[texfont] = font
- prop = FontProperties('cmex10')
+ self.fontmap = {}
+ for texfont in "cal rm tt it bf sf".split():
+ prop = rcParams['mathtext.' + texfont]
 font = findfont(prop)
- self.fontmap['ex'] = font
+ self.fontmap[texfont] = font
+ prop = FontProperties('cmex10')
+ font = findfont(prop)
+ self.fontmap['ex'] = font
 
 _slanted_symbols = set(r"\int \oint".split())
 
@@ -890,18 +888,17 @@
 4 : 'STIXSize4',
 5 : 'STIXSize5'
 }
- fontmap = {}
 use_cmex = False
 cm_fallback = False
 _sans = False
 
 def __init__(self, *args, **kwargs):
 TruetypeFonts.__init__(self, *args, **kwargs)
- if not len(self.fontmap):
- for key, name in self._fontmap.iteritems():
- fullpath = findfont(name)
- self.fontmap[key] = fullpath
- self.fontmap[name] = fullpath
+ self.fontmap = {}
+ for key, name in self._fontmap.iteritems():
+ fullpath = findfont(name)
+ self.fontmap[key] = fullpath
+ self.fontmap[name] = fullpath
 
 def _map_virtual_font(self, fontname, font_class, uniindex):
 # Handle these "fonts" that are actually embedded in
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <js...@us...> - 2009年03月30日 22:57:50
Revision: 7013
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7013&view=rev
Author: jswhit
Date: 2009年03月30日 22:57:31 +0000 (2009年3月30日)
Log Message:
-----------
added latmax kwarg to drawparallels and drawmeridians (patch from Chris Murphy).
Modified Paths:
--------------
 trunk/toolkits/basemap/Changelog
 trunk/toolkits/basemap/README
 trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog	2009年03月29日 03:43:49 UTC (rev 7012)
+++ trunk/toolkits/basemap/Changelog	2009年03月30日 22:57:31 UTC (rev 7013)
@@ -1,4 +1,6 @@
 version 0.99.4 (not yet released)
+ * added latmax kwarg to drawparallels and drawmeridians 
+ (patch from Chris Murphy).
 * added new example "plotmap_shaded.py" (shaded relief plot).
 * added new example "plothighsandlows.py".
 * add fix_aspect kwarg to Basemap.__init__, when False
Modified: trunk/toolkits/basemap/README
===================================================================
--- trunk/toolkits/basemap/README	2009年03月29日 03:43:49 UTC (rev 7012)
+++ trunk/toolkits/basemap/README	2009年03月30日 22:57:31 UTC (rev 7013)
@@ -132,5 +132,6 @@
 Ryan May
 David Huard
 Mauro Cavalcanti
+Chris Murphy
 
 for valuable contributions.
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2009年03月29日 03:43:49 UTC (rev 7012)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2009年03月30日 22:57:31 UTC (rev 7013)
@@ -1711,7 +1711,8 @@
 
 def drawparallels(self,circles,color='k',linewidth=1.,zorder=None, \
 dashes=[1,1],labels=[0,0,0,0],labelstyle=None, \
- fmt='%g',xoffset=None,yoffset=None,ax=None,**kwargs):
+ fmt='%g',xoffset=None,yoffset=None,ax=None,latmax=None,
+ **kwargs):
 """
 Draw and label parallels (latitude lines) for values (in degrees) 
 given in the sequence ``circles``.
@@ -1748,6 +1749,8 @@
 (default is 0.01 times height of map in map
 projection coordinates).
 ax axes instance (overrides default axes instance)
+ latmax absolute value of latitude to which meridians are drawn
+ (default is 80).
 \**kwargs additional keyword arguments controlling text
 for labels that are passed on to 
 the text method of the axes instance (see
@@ -1769,7 +1772,7 @@
 elif ax is None and self.ax is not None:
 ax = self.ax
 # don't draw meridians past latmax, always draw parallel at latmax.
- latmax = 80.
+ if latmax is None: latmax = 80.
 # offset for labels.
 if yoffset is None:
 yoffset = (self.urcrnry-self.llcrnry)/100.
@@ -1968,7 +1971,8 @@
 
 def drawmeridians(self,meridians,color='k',linewidth=1., zorder=None,\
 dashes=[1,1],labels=[0,0,0,0],labelstyle=None,\
- fmt='%g',xoffset=None,yoffset=None,ax=None,**kwargs):
+ fmt='%g',xoffset=None,yoffset=None,ax=None,latmax=None,
+ **kwargs):
 """
 Draw and label meridians (longitude lines) for values (in degrees)
 given in the sequence ``meridians``.
@@ -2005,6 +2009,8 @@
 (default is 0.01 times height of map in map
 projection coordinates).
 ax axes instance (overrides default axes instance)
+ latmax absolute value of latitude to which meridians are drawn
+ (default is 80).
 \**kwargs additional keyword arguments controlling text
 for labels that are passed on to 
 the text method of the axes instance (see
@@ -2026,7 +2032,7 @@
 elif ax is None and self.ax is not None:
 ax = self.ax
 # don't draw meridians past latmax, always draw parallel at latmax.
- latmax = 80. # not used for cyl, merc or miller projections.
+ if latmax is None: latmax = 80. # unused w/ cyl, merc or miller proj.
 # offset for labels.
 if yoffset is None:
 yoffset = (self.urcrnry-self.llcrnry)/100.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <ef...@us...> - 2009年03月29日 03:43:59
Revision: 7012
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7012&view=rev
Author: efiring
Date: 2009年03月29日 03:43:49 +0000 (2009年3月29日)
Log Message:
-----------
Added Karen Tracey's threading_test.py.
Added Paths:
-----------
 trunk/matplotlib/unit/threading_test.py
Added: trunk/matplotlib/unit/threading_test.py
===================================================================
--- trunk/matplotlib/unit/threading_test.py	 (rev 0)
+++ trunk/matplotlib/unit/threading_test.py	2009年03月29日 03:43:49 UTC (rev 7012)
@@ -0,0 +1,70 @@
+#! /usr/bin/python
+"""
+Test by Karen Tracey for threading problem reported in 
+http://www.mail-archive.com/mat...@li.../msg04819.html
+and solved by JDH with svn r7008.
+"""
+
+import os
+import threading
+import traceback
+
+import numpy as np
+from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
+from matplotlib.figure import Figure
+
+thread_count = 8
+max_iterations = 50
+exception_raised = False
+
+def png_thread(tn):
+ png_fname = 'out%d.png' % tn
+ vals = 100 + 15 * np.random.randn(10000)
+
+ i = 0
+ excp = None
+ global exception_raised
+ while not exception_raised and i < max_iterations:
+ i += 1
+ png_f = open(png_fname, 'wb')
+
+ try:
+ fig = Figure()
+ ax = fig.add_subplot(111)
+ ax.hist(vals, 50)
+ FigureCanvas(fig).print_png(png_f)
+
+ except Exception, excp:
+ pass
+
+ png_f.close()
+ if excp:
+ print 'png_thread %d failed on iteration %d:' % (tn, i)
+ print traceback.format_exc(excp)
+ exception_raised = True
+ else: 
+ print 'png_thread %d completed iteration %d.' % (tn, i)
+
+ os.unlink(png_fname)
+
+def main(tc):
+ threads = []
+ for i in range(tc): 
+ threads.append(threading.Thread(target=png_thread, args=(i+1,)))
+
+ for t in threads:
+ t.start()
+
+ for t in threads:
+ t.join()
+
+ if not exception_raised:
+ msg = 'Success! %d threads completed %d iterations with no exceptions raised.'
+ else:
+ msg = 'Failed! Exception raised before %d threads completed %d iterations.'
+
+ print msg % (tc, max_iterations)
+
+if __name__== "__main__":
+ main(thread_count)
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7011
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7011&view=rev
Author: jswhit
Date: 2009年03月29日 00:54:14 +0000 (2009年3月29日)
Log Message:
-----------
print message if LightSource not found
Modified Paths:
--------------
 trunk/toolkits/basemap/examples/plotmap_shaded.py
Modified: trunk/toolkits/basemap/examples/plotmap_shaded.py
===================================================================
--- trunk/toolkits/basemap/examples/plotmap_shaded.py	2009年03月28日 21:13:38 UTC (rev 7010)
+++ trunk/toolkits/basemap/examples/plotmap_shaded.py	2009年03月29日 00:54:14 UTC (rev 7011)
@@ -7,8 +7,12 @@
 import numpy as np
 import matplotlib.pyplot as plt
 import matplotlib.mlab as mlab
-from matplotlib.colors import LightSource
+try:
+ from matplotlib.colors import LightSource
+except ImportError:
+ raise ImportError("Need a more recent version of matplotlib to run this example")
 
+
 # read in topo data (on a regular lat/lon grid)
 # longitudes go from 20 to 380.
 topoin = mlab.load('etopo20data.gz')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <ef...@us...> - 2009年03月28日 21:13:47
Revision: 7010
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7010&view=rev
Author: efiring
Date: 2009年03月28日 21:13:38 +0000 (2009年3月28日)
Log Message:
-----------
Make images handle invalid values as if masked.
A little cleanup and docstring addition to image.py was included.
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/lib/matplotlib/cbook.py
 trunk/matplotlib/lib/matplotlib/image.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2009年03月28日 00:59:44 UTC (rev 7009)
+++ trunk/matplotlib/CHANGELOG	2009年03月28日 21:13:38 UTC (rev 7010)
@@ -1,3 +1,6 @@
+2009年03月28日 Make images handle nan in their array argument.
+ A helper, cbook.safe_masked_invalid() was added. - EF
+
 2009年03月25日 Make contour and contourf handle nan in their Z argument. - EF
 
 2009年03月20日 Add AuxTransformBox in offsetbox.py to support some transformation.
Modified: trunk/matplotlib/lib/matplotlib/cbook.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/cbook.py	2009年03月28日 00:59:44 UTC (rev 7009)
+++ trunk/matplotlib/lib/matplotlib/cbook.py	2009年03月28日 21:13:38 UTC (rev 7010)
@@ -933,6 +933,15 @@
 except TypeError:
 return False
 
+def safe_masked_invalid(x):
+ x = np.asanyarray(x)
+ try:
+ xm = np.ma.masked_invalid(x, copy=False)
+ xm.shrink_mask()
+ except TypeError:
+ return x
+ return xm
+
 class MemoryMonitor:
 def __init__(self, nmax=20000):
 self._nmax = nmax
Modified: trunk/matplotlib/lib/matplotlib/image.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/image.py	2009年03月28日 00:59:44 UTC (rev 7009)
+++ trunk/matplotlib/lib/matplotlib/image.py	2009年03月28日 21:13:38 UTC (rev 7010)
@@ -10,13 +10,14 @@
 from numpy import ma
 
 from matplotlib import rcParams
-from matplotlib import artist as martist
-from matplotlib import colors as mcolors
-from matplotlib import cm
+import matplotlib.artist as martist
+import matplotlib.colors as mcolors
+import matplotlib.cm as cm
+import matplotlib.cbook as cbook
 
 # For clarity, names from _image are given explicitly in this module:
-from matplotlib import _image
-from matplotlib import _png
+import matplotlib._image as _image
+import matplotlib._png as _png
 
 # For user convenience, the names from _image are also imported into
 # the image namespace:
@@ -238,8 +239,9 @@
 clippath, affine)
 
 def contains(self, mouseevent):
- """Test whether the mouse event occured within the image.
 """
+ Test whether the mouse event occured within the image.
+ """
 if callable(self._contains): return self._contains(self,mouseevent)
 # TODO: make sure this is consistent with patch and patch
 # collection on nonlinear transformed coordinates.
@@ -271,18 +273,17 @@
 rows, cols, buffer = im.as_rgba_str()
 _png.write_png(buffer, cols, rows, fname)
 
- def set_data(self, A, shape=None):
+ def set_data(self, A):
 """
 Set the image array
 
- ACCEPTS: numpy/PIL Image A"""
+ ACCEPTS: numpy/PIL Image A
+ """
 # check if data is PIL Image without importing Image
 if hasattr(A,'getpixel'):
 self._A = pil_to_array(A)
- elif ma.isMA(A):
- self._A = A
 else:
- self._A = np.asarray(A) # assume array
+ self._A = cbook.safe_masked_invalid(A)
 
 if self._A.dtype != np.uint8 and not np.can_cast(self._A.dtype, np.float):
 raise TypeError("Image data can not convert to float")
@@ -310,8 +311,9 @@
 
 
 def set_extent(self, extent):
- """extent is data axes (left, right, bottom, top) for making image plots
 """
+ extent is data axes (left, right, bottom, top) for making image plots
+ """
 self._extent = extent
 
 xmin, xmax, ymin, ymax = extent
@@ -375,7 +377,8 @@
 return (-0.5, numcols-0.5, -0.5, numrows-0.5)
 
 def set_filternorm(self, filternorm):
- """Set whether the resize filter norms the weights -- see
+ """
+ Set whether the resize filter norms the weights -- see
 help for imshow
 
 ACCEPTS: 0 or 1
@@ -390,7 +393,8 @@
 return self._filternorm
 
 def set_filterrad(self, filterrad):
- """Set the resize filter radius only applicable to some
+ """
+ Set the resize filter radius only applicable to some
 interpolation schemes -- see help for imshow
 
 ACCEPTS: positive float
@@ -405,9 +409,11 @@
 
 
 class NonUniformImage(AxesImage):
- def __init__(self, ax,
- **kwargs
- ):
+ def __init__(self, ax, **kwargs):
+ """
+ kwargs are identical to those for AxesImage, except
+ that 'interpolation' defaults to 'nearest'
+ """
 interp = kwargs.pop('interpolation', 'nearest')
 AxesImage.__init__(self, ax,
 **kwargs)
@@ -434,10 +440,19 @@
 return im
 
 def set_data(self, x, y, A):
+ """
+ Set the grid for the pixel centers, and the pixel values.
+
+ *x* and *y* are 1-D ndarrays of lengths N and M, respectively,
+ specifying pixel centers
+
+ *A* is an (M,N) ndarray or masked array of values to be
+ colormapped, or a (M,N,3) RGB array, or a (M,N,4) RGBA
+ array.
+ """
 x = np.asarray(x,np.float32)
 y = np.asarray(y,np.float32)
- if not ma.isMA(A):
- A = np.asarray(A)
+ A = cbook.safe_masked_invalid(A)
 if len(x.shape) != 1 or len(y.shape) != 1\
 or A.shape[0:2] != (y.shape[0], x.shape[0]):
 raise TypeError("Axes don't match array shape")
@@ -567,8 +582,7 @@
 
 
 def set_data(self, x, y, A):
- if not ma.isMA(A):
- A = np.asarray(A)
+ A = cbook.safe_masked_invalid(A)
 if x is None:
 x = np.arange(0, A.shape[1]+1, dtype=np.float64)
 else:
@@ -666,6 +680,19 @@
 return (-0.5+self.ox, numcols-0.5+self.ox,
 -0.5+self.oy, numrows-0.5+self.oy)
 
+ def set_data(self, A):
+ """
+ Set the image array
+
+ """
+ cm.ScalarMappable.set_array(self, cbook.safe_masked_invalid(A))
+
+ def set_array(self, A):
+ """
+ Deprecated; use set_data for consistency with other image types.
+ """
+ self.set_data(A)
+
 def make_image(self, magnification=1.0):
 if self._A is None:
 raise RuntimeError('You must first set the image array')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7009
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7009&view=rev
Author: jswhit
Date: 2009年03月28日 00:59:44 +0000 (2009年3月28日)
Log Message:
-----------
lightsource --> LightSource
Modified Paths:
--------------
 trunk/toolkits/basemap/examples/plotmap_shaded.py
Modified: trunk/toolkits/basemap/examples/plotmap_shaded.py
===================================================================
--- trunk/toolkits/basemap/examples/plotmap_shaded.py	2009年03月27日 21:11:07 UTC (rev 7008)
+++ trunk/toolkits/basemap/examples/plotmap_shaded.py	2009年03月28日 00:59:44 UTC (rev 7009)
@@ -7,7 +7,7 @@
 import numpy as np
 import matplotlib.pyplot as plt
 import matplotlib.mlab as mlab
-from matplotlib.colors import lightsource
+from matplotlib.colors import LightSource
 
 # read in topo data (on a regular lat/lon grid)
 # longitudes go from 20 to 380.
@@ -27,7 +27,7 @@
 nx = int((m.xmax-m.xmin)/40000.)+1; ny = int((m.ymax-m.ymin)/40000.)+1
 topodat,x,y = m.transform_scalar(topoin,lons,lats,nx,ny,returnxy=True)
 # create light source object.
-ls = lightsource(azdeg = 90, altdeg = 20)
+ls = LightSource(azdeg = 90, altdeg = 20)
 # convert data to rgb array including shading from light source.
 # (must specify color map)
 rgb = ls.shade(topodat, plt.cm.jet)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7008
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7008&view=rev
Author: jdh2358
Date: 2009年03月27日 21:11:07 +0000 (2009年3月27日)
Log Message:
-----------
moved agg caches to instance namespace for thread safety
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_agg.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_agg.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_agg.py	2009年03月27日 21:10:24 UTC (rev 7007)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_agg.py	2009年03月27日 21:11:07 UTC (rev 7008)
@@ -46,11 +46,12 @@
 context instance that controls the colors/styles
 """
 debug=1
- texd = maxdict(50) # a cache of tex image rasters
- _fontd = maxdict(50)
 def __init__(self, width, height, dpi):
 if __debug__: verbose.report('RendererAgg.__init__', 'debug-annoying')
 RendererBase.__init__(self)
+ self.texd = maxdict(50) # a cache of tex image rasters
+ self._fontd = maxdict(50)
+
 self.dpi = dpi
 self.width = width
 self.height = height
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <js...@us...> - 2009年03月27日 21:10:51
Revision: 7007
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7007&view=rev
Author: jswhit
Date: 2009年03月27日 21:10:24 +0000 (2009年3月27日)
Log Message:
-----------
changed name of lightsource class to LightSource to conform to coding guidelines.
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/examples/pylab_examples/shading_example.py
 trunk/matplotlib/lib/matplotlib/colors.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2009年03月27日 18:11:18 UTC (rev 7006)
+++ trunk/matplotlib/CHANGELOG	2009年03月27日 21:10:24 UTC (rev 7007)
@@ -9,7 +9,7 @@
 2009年03月17日 Fix bugs in edge color handling by contourf, found
 by Jae-Joon Lee. - EF
 
-2009年03月14日 Added 'lightsource' class to colors module for
+2009年03月14日 Added 'LightSource' class to colors module for
 creating shaded relief maps. shading_example.py
 added to illustrate usage. - JSW
 
Modified: trunk/matplotlib/examples/pylab_examples/shading_example.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/shading_example.py	2009年03月27日 18:11:18 UTC (rev 7006)
+++ trunk/matplotlib/examples/pylab_examples/shading_example.py	2009年03月27日 21:10:24 UTC (rev 7007)
@@ -1,6 +1,6 @@
 import numpy as np
 import matplotlib.pyplot as plt
-from matplotlib.colors import lightsource
+from matplotlib.colors import LightSource
 
 # example showing how to make shaded relief plots 
 # like mathematica
@@ -12,7 +12,7 @@
 X,Y=np.mgrid[-5:5:0.05,-5:5:0.05]
 Z=np.sqrt(X**2+Y**2)+np.sin(X**2+Y**2)
 # creat light source object.
-ls = lightsource(azdeg=0,altdeg=65)
+ls = LightSource(azdeg=0,altdeg=65)
 # shade data, creating an rgb array.
 rgb = ls.shade(Z,plt.cm.copper)
 # plot un-shaded and shaded images.
Modified: trunk/matplotlib/lib/matplotlib/colors.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/colors.py	2009年03月27日 18:11:18 UTC (rev 7006)
+++ trunk/matplotlib/lib/matplotlib/colors.py	2009年03月27日 21:10:24 UTC (rev 7007)
@@ -955,7 +955,7 @@
 rgb[:,:,0]=r; rgb[:,:,1]=g; rgb[:,:,2]=b
 return rgb
 
-class lightsource(object):
+class LightSource(object):
 """
 Create a light source coming from the specified azimuth and elevation.
 Angles are in degrees, with the azimuth measured
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7006
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7006&view=rev
Author: jdh2358
Date: 2009年03月27日 18:11:18 +0000 (2009年3月27日)
Log Message:
-----------
applied Gael's sphinx patch
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Modified: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py	2009年03月25日 19:27:28 UTC (rev 7005)
+++ trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py	2009年03月27日 18:11:18 UTC (rev 7006)
@@ -17,6 +17,7 @@
 """
 
 import sys, os, glob, shutil, hashlib, imp, warnings, cStringIO
+import re
 try:
 from hashlib import md5
 except ImportError:
@@ -33,7 +34,10 @@
 import sphinx
 
 sphinx_version = sphinx.__version__.split(".")
-sphinx_version = tuple([int(x) for x in sphinx_version[:2]])
+# The split is necessary for sphinx beta versions where the string is
+# '6b1'
+sphinx_version = tuple([int(re.split('[a-z]', x)[0]) 
+ for x in sphinx_version[:2]])
 
 import matplotlib
 import matplotlib.cbook as cbook
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <ef...@us...> - 2009年03月25日 19:27:32
Revision: 7005
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7005&view=rev
Author: efiring
Date: 2009年03月25日 19:27:28 +0000 (2009年3月25日)
Log Message:
-----------
Contouring handles nans in Z via masking.
(The bug in filled contouring with internal masked regions
remains.)
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/examples/pylab_examples/contourf_demo.py
 trunk/matplotlib/lib/matplotlib/contour.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2009年03月24日 01:57:26 UTC (rev 7004)
+++ trunk/matplotlib/CHANGELOG	2009年03月25日 19:27:28 UTC (rev 7005)
@@ -1,5 +1,7 @@
-2009年03月20日 Add AuxTransformBox in offsetbox.py to support some transformation. 
- anchored_text.py example is enhanced and renamed 
+2009年03月25日 Make contour and contourf handle nan in their Z argument. - EF
+
+2009年03月20日 Add AuxTransformBox in offsetbox.py to support some transformation.
+ anchored_text.py example is enhanced and renamed
 (anchored_artists.py). - JJL
 
 2009年03月20日 Add "bar" connection style for annotation - JJL
Modified: trunk/matplotlib/examples/pylab_examples/contourf_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/contourf_demo.py	2009年03月24日 01:57:26 UTC (rev 7004)
+++ trunk/matplotlib/examples/pylab_examples/contourf_demo.py	2009年03月25日 19:27:28 UTC (rev 7005)
@@ -3,7 +3,9 @@
 origin = 'lower'
 #origin = 'upper'
 
-test_masking = False # There is a bug in filled contour masking.
+# The following controls only interior masking.
+test_masking = False # There is a bug in filled contour masking with
+ # interior masks.
 
 if test_masking:
 # Use a coarse grid so only a few masked points are needed.
@@ -30,6 +32,18 @@
 Z[0,0] = 0
 Z = ma.array(Z, mask=badmask)
 
+nr, nc = Z.shape
+
+# put NaNs in one corner:
+Z[-nr//6:, -nc//6:] = nan
+# contourf will convert these to masked
+
+
+Z = ma.array(Z)
+# mask another corner:
+Z[:nr//6, :nc//6] = ma.masked
+
+
 # We are using automatic selection of contour levels;
 # this is usually not such a good idea, because they don't
 # occur on nice boundaries, but we do it here for purposes
@@ -48,7 +62,7 @@
 origin=origin,
 hold='on')
 
-title('Nonsense')
+title('Nonsense (with 2 masked corners)')
 xlabel('word length anomaly')
 ylabel('sentence length anomaly')
 
@@ -72,7 +86,7 @@
 colors = ('k',),
 linewidths = (3,),
 origin = origin)
-title('Listed colors')
+title('Listed colors (with 2 masked corners)')
 clabel(CS4, fmt = '%2.1f', colors = 'w', fontsize=14)
 colorbar(CS3)
 
Modified: trunk/matplotlib/lib/matplotlib/contour.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/contour.py	2009年03月24日 01:57:26 UTC (rev 7004)
+++ trunk/matplotlib/lib/matplotlib/contour.py	2009年03月25日 19:27:28 UTC (rev 7005)
@@ -756,6 +756,7 @@
 x,y,z = self._check_xyz(args[:3])
 else:
 raise TypeError("Too many arguments to %s; see help(%s)" % (fn,fn))
+ z = ma.masked_invalid(z, copy=False)
 self.zmax = ma.maximum(z)
 self.zmin = ma.minimum(z)
 if self.logscale and self.zmin <= 0:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2009年03月24日 01:57:39
Revision: 7004
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7004&view=rev
Author: jdh2358
Date: 2009年03月24日 01:57:26 +0000 (2009年3月24日)
Log Message:
-----------
ticker typo fixes
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/ticker.py
Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py	2009年03月24日 01:49:18 UTC (rev 7003)
+++ trunk/matplotlib/lib/matplotlib/ticker.py	2009年03月24日 01:57:26 UTC (rev 7004)
@@ -920,13 +920,13 @@
 """
 Keyword args:
 *prune*
- Remove edge ticks -- useful for stacked or ganed plots
+ Remove edge ticks -- useful for stacked or ganged plots
 where the upper tick of one axes overlaps with the lower
- tick of the axes above it. one of 'lower' | 'upper'|
+ tick of the axes above it. One of 'lower' | 'upper' |
 'both' | None. If prune=='lower', the smallest tick will
 be removed. If prune=='upper', the largest tick will be
 removed. If prune=='both', the largest and smallest ticks
- will be removed. If prune==None, no ticks will be removed
+ will be removed. If prune==None, no ticks will be removed.
 
 """
 self._nbins = int(nbins)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2009年03月24日 01:49:26
Revision: 7003
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7003&view=rev
Author: jdh2358
Date: 2009年03月24日 01:49:18 +0000 (2009年3月24日)
Log Message:
-----------
added prune option to maxnlocataor; updated finance demo
Modified Paths:
--------------
 trunk/matplotlib/examples/pylab_examples/finance_work2.py
 trunk/matplotlib/lib/matplotlib/ticker.py
Modified: trunk/matplotlib/examples/pylab_examples/finance_work2.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/finance_work2.py	2009年03月23日 19:18:35 UTC (rev 7002)
+++ trunk/matplotlib/examples/pylab_examples/finance_work2.py	2009年03月24日 01:49:18 UTC (rev 7003)
@@ -201,7 +201,7 @@
 ax3.text(0.025, 0.95, 'MACD (%d, %d, %d)'%(nfast, nslow, nema), va='top',
 transform=ax3.transAxes, fontsize=textsize)
 
-ax3.set_yticks([])
+#ax3.set_yticks([])
 # turn off upper axis tick labels, rotate the lower ones, etc
 for ax in ax1, ax2, ax2t, ax3:
 if ax!=ax3:
@@ -215,15 +215,11 @@
 ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d')
 
 
-class PriceFormatter(mticker.FormatStrFormatter):
- 'suppress the lowest tick label to prevent overlap'
- def __call__(self, x, pos=None):
- if pos==0:
- return ''
- else:
- return mticker.FormatStrFormatter.__call__(self, x, pos=None)
-ax2.yaxis.set_major_formatter(PriceFormatter('%d'))
 
+# at most 5 ticks, pruning the upper and lower so they don't overlap
+# with other ticks
+ax2.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both'))
+ax3.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both'))
 plt.show()
 
 
Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py	2009年03月23日 19:18:35 UTC (rev 7002)
+++ trunk/matplotlib/lib/matplotlib/ticker.py	2009年03月24日 01:49:18 UTC (rev 7003)
@@ -913,13 +913,27 @@
 """
 
 def __init__(self, nbins = 10, steps = None,
- trim = True,
- integer=False,
- symmetric=False):
+ trim = True,
+ integer=False,
+ symmetric=False,
+ prune=None):
+ """
+ Keyword args:
+ *prune*
+ Remove edge ticks -- useful for stacked or ganed plots
+ where the upper tick of one axes overlaps with the lower
+ tick of the axes above it. one of 'lower' | 'upper'|
+ 'both' | None. If prune=='lower', the smallest tick will
+ be removed. If prune=='upper', the largest tick will be
+ removed. If prune=='both', the largest and smallest ticks
+ will be removed. If prune==None, no ticks will be removed
+
+ """
 self._nbins = int(nbins)
 self._trim = trim
 self._integer = integer
 self._symmetric = symmetric
+ self._prune = prune
 if steps is None:
 self._steps = [1, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10]
 else:
@@ -957,7 +971,16 @@
 def __call__(self):
 vmin, vmax = self.axis.get_view_interval()
 vmin, vmax = mtransforms.nonsingular(vmin, vmax, expander = 0.05)
- return self.bin_boundaries(vmin, vmax)
+ locs = self.bin_boundaries(vmin, vmax)
+ #print 'locs=', locs
+ prune = self._prune
+ if prune=='lower':
+ locs = locs[1:]
+ elif prune=='upper':
+ locs = locs[:-1]
+ elif prune=='both':
+ locs = locs[1:-1]
+ return locs
 
 def view_limits(self, dmin, dmax):
 if self._symmetric:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月23日 19:18:43
Revision: 7002
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7002&view=rev
Author: mdboom
Date: 2009年03月23日 19:18:35 +0000 (2009年3月23日)
Log Message:
-----------
Merged revisions 6997,7001 via svnmerge from 
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint
........
 r6997 | mdboom | 2009年03月19日 09:15:00 -0400 (2009年3月19日) | 2 lines
 
 Fix bug in Cairo backend related to clipping -- thanks Nathaniel Smith
........
 r7001 | ryanmay | 2009年03月23日 14:52:29 -0400 (2009年3月23日) | 1 line
 
 Fix typo. Thanks to Sandro Tosi.
........
Modified Paths:
--------------
 trunk/matplotlib/doc/users/screenshots.rst
 trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-6995
 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7001
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Modified: trunk/matplotlib/doc/users/screenshots.rst
===================================================================
--- trunk/matplotlib/doc/users/screenshots.rst	2009年03月23日 18:52:29 UTC (rev 7001)
+++ trunk/matplotlib/doc/users/screenshots.rst	2009年03月23日 19:18:35 UTC (rev 7002)
@@ -82,7 +82,7 @@
 ==========
 
 The :func:`~matplotlib.pyplot.pie` command
-uses a matlab(TM) compatible syntax to produce py charts. Optional
+uses a matlab(TM) compatible syntax to produce pie charts. Optional
 features include auto-labeling the percentage of area, exploding one
 or more wedges out from the center of the pie, and a shadow effect.
 Take a close look at the attached code that produced this figure; nine
@@ -268,6 +268,3 @@
 :ref:`user_interfaces-mpl_with_glade`.
 
 .. image:: ../_static/eeg_small.png
-
-
-
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2009年03月23日 18:52:29 UTC (rev 7001)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2009年03月23日 19:18:35 UTC (rev 7002)
@@ -109,6 +109,23 @@
 # font transform?
 
 
+ def _do_clip(self, ctx, cliprect, clippath):
+ if cliprect is not None:
+ x,y,w,h = cliprect.bounds
+ # pixel-aligned clip-regions are faster
+ x,y,w,h = round(x), round(y), round(w), round(h)
+ ctx.new_path()
+ ctx.rectangle (x, self.height - h - y, w, h)
+ ctx.clip ()
+
+ if clippath is not None:
+ tpath, affine = clippath.get_transformed_path_and_affine()
+ ctx.new_path()
+ affine = affine + Affine2D().scale(1.0, -1.0).translate(0.0, self.height)
+ tpath = affine.transform_path(tpath)
+ RendererCairo.convert_path(ctx, tpath)
+ ctx.clip()
+
 def _fill_and_stroke (self, ctx, fill_c, alpha):
 if fill_c is not None:
 ctx.save()
@@ -120,7 +137,6 @@
 ctx.restore()
 ctx.stroke()
 
-
 @staticmethod
 def convert_path(ctx, path, transform):
 for points, code in path.iter_segments(transform):
@@ -143,6 +159,9 @@
 raise ValueError("The Cairo backend can not draw paths longer than 18980 points.")
 
 ctx = gc.ctx
+ ctx.save()
+ self._do_clip(ctx, gc._cliprect, gc._clippath)
+
 transform = transform + \
 Affine2D().scale(1.0, -1.0).translate(0, self.height)
 
@@ -150,6 +169,7 @@
 self.convert_path(ctx, path, transform)
 
 self._fill_and_stroke(ctx, rgbFace, gc.get_alpha())
+ ctx.restore()
 
 def draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None):
 # bbox - not currently used
@@ -162,9 +182,16 @@
 buf, cairo.FORMAT_ARGB32, cols, rows, cols*4)
 # function does not pass a 'gc' so use renderer.ctx
 ctx = self.ctx
+ ctx.save()
+ if clippath is not None:
+ tpath = clippath_trans.transform_path(clippath)
+ ctx.new_path()
+ RendererCairo.convert_path(ctx, tpath)
+ ctx.clip()
 y = self.height - y - rows
 ctx.set_source_surface (surface, x, y)
 ctx.paint()
+ ctx.restore()
 
 im.flipud_out()
 
@@ -322,30 +349,10 @@
 
 def set_clip_rectangle(self, rectangle):
 self._cliprect = rectangle
- if rectangle is None:
- return
 
- x,y,w,h = rectangle.bounds
- # pixel-aligned clip-regions are faster
- x,y,w,h = round(x), round(y), round(w), round(h)
- ctx = self.ctx
- ctx.new_path()
- ctx.rectangle (x, self.renderer.height - h - y, w, h)
- ctx.clip ()
- # Alternative: just set _cliprect here and actually set cairo clip rect
- # in fill_and_stroke() inside ctx.save() ... ctx.restore()
-
-
 def set_clip_path(self, path):
- if path is not None:
- tpath, affine = path.get_transformed_path_and_affine()
- ctx = self.ctx
- ctx.new_path()
- affine = affine + Affine2D().scale(1.0, -1.0).translate(0.0, self.renderer.height)
- RendererCairo.convert_path(ctx, path, affine)
- ctx.clip()
+ self._clippath = path
 
-
 def set_dashes(self, offset, dashes):
 self._dashes = offset, dashes
 if dashes == None:
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7001
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7001&view=rev
Author: ryanmay
Date: 2009年03月23日 18:52:29 +0000 (2009年3月23日)
Log Message:
-----------
Fix typo. Thanks to Sandro Tosi.
Modified Paths:
--------------
 branches/v0_98_5_maint/doc/users/screenshots.rst
Modified: branches/v0_98_5_maint/doc/users/screenshots.rst
===================================================================
--- branches/v0_98_5_maint/doc/users/screenshots.rst	2009年03月20日 20:26:00 UTC (rev 7000)
+++ branches/v0_98_5_maint/doc/users/screenshots.rst	2009年03月23日 18:52:29 UTC (rev 7001)
@@ -82,7 +82,7 @@
 ==========
 
 The :func:`~matplotlib.pyplot.pie` command
-uses a matlab(TM) compatible syntax to produce py charts. Optional
+uses a matlab(TM) compatible syntax to produce pie charts. Optional
 features include auto-labeling the percentage of area, exploding one
 or more wedges out from the center of the pie, and a shadow effect.
 Take a close look at the attached code that produced this figure; nine
@@ -268,6 +268,3 @@
 :ref:`user_interfaces-mpl_with_glade`.
 
 .. image:: ../_static/eeg_small.png
-
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <lee...@us...> - 2009年03月20日 20:26:10
Revision: 7000
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7000&view=rev
Author: leejjoon
Date: 2009年03月20日 20:26:00 +0000 (2009年3月20日)
Log Message:
-----------
Add AuxTransformBox in offsetbox.py
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/lib/matplotlib/offsetbox.py
Added Paths:
-----------
 trunk/matplotlib/examples/pylab_examples/anchored_artists.py
Removed Paths:
-------------
 trunk/matplotlib/examples/pylab_examples/anchored_text.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2009年03月20日 20:10:42 UTC (rev 6999)
+++ trunk/matplotlib/CHANGELOG	2009年03月20日 20:26:00 UTC (rev 7000)
@@ -1,3 +1,7 @@
+2009年03月20日 Add AuxTransformBox in offsetbox.py to support some transformation. 
+ anchored_text.py example is enhanced and renamed 
+ (anchored_artists.py). - JJL
+
 2009年03月20日 Add "bar" connection style for annotation - JJL
 
 2009年03月17日 Fix bugs in edge color handling by contourf, found
Copied: trunk/matplotlib/examples/pylab_examples/anchored_artists.py (from rev 6998, trunk/matplotlib/examples/pylab_examples/anchored_text.py)
===================================================================
--- trunk/matplotlib/examples/pylab_examples/anchored_artists.py	 (rev 0)
+++ trunk/matplotlib/examples/pylab_examples/anchored_artists.py	2009年03月20日 20:26:00 UTC (rev 7000)
@@ -0,0 +1,117 @@
+from matplotlib.patches import Rectangle, Ellipse
+
+from matplotlib.offsetbox import AnchoredOffsetbox, AuxTransformBox, VPacker,\
+ TextArea, DrawingArea
+
+
+class AnchoredText(AnchoredOffsetbox):
+ def __init__(self, s, loc, pad=0.4, borderpad=0.5, prop=None, frameon=True):
+
+ self.txt = TextArea(s,
+ minimumdescent=False)
+
+
+ super(AnchoredText, self).__init__(loc, pad=pad, borderpad=borderpad,
+ child=self.txt,
+ prop=prop,
+ frameon=frameon)
+
+
+class AnchoredSizeBar(AnchoredOffsetbox):
+ def __init__(self, transform, size, label, loc,
+ pad=0.1, borderpad=0.1, sep=2, prop=None, frameon=True):
+ """
+ Draw a horizontal bar with the size in data coordinate of the give axes.
+ A label will be drawn underneath (center-alinged).
+
+ pad, borderpad in fraction of the legend font size (or prop)
+ sep in points.
+ """
+ self.size_bar = AuxTransformBox(transform)
+ self.size_bar.add_artist(Rectangle((0,0), size, 0, fc="none"))
+
+ self.txt_label = TextArea(label, minimumdescent=False)
+
+ self._box = VPacker(children=[self.size_bar, self.txt_label],
+ align="center",
+ pad=0, sep=sep)
+
+ AnchoredOffsetbox.__init__(self, loc, pad=pad, borderpad=borderpad,
+ child=self._box,
+ prop=prop,
+ frameon=frameon)
+
+
+class AnchoredEllipse(AnchoredOffsetbox):
+ def __init__(self, transform, width, height, angle, loc,
+ pad=0.1, borderpad=0.1, prop=None, frameon=True):
+ """
+ Draw an ellipse the size in data coordinate of the give axes.
+
+ pad, borderpad in fraction of the legend font size (or prop)
+ """
+ self._box = AuxTransformBox(transform)
+ self.ellipse = Ellipse((0,0), width, height, angle)
+ self._box.add_artist(self.ellipse)
+
+ AnchoredOffsetbox.__init__(self, loc, pad=pad, borderpad=borderpad,
+ child=self._box,
+ prop=prop,
+ frameon=frameon)
+
+
+
+class AnchoredDrawingArea(AnchoredOffsetbox):
+ def __init__(self, width, height, xdescent, ydescent,
+ loc, pad=0.4, borderpad=0.5, prop=None, frameon=True):
+
+ self.da = DrawingArea(width, height, xdescent, ydescent, clip=True)
+
+ super(AnchoredDrawingArea, self).__init__(loc, pad=pad, borderpad=borderpad,
+ child=self.da,
+ prop=None,
+ frameon=frameon)
+
+
+
+if __name__ == "__main__":
+
+ import matplotlib.pyplot as plt
+ 
+ ax = plt.gca()
+ ax.set_aspect(1.)
+
+ at = AnchoredText("Figure 1a",
+ loc=2, frameon=True)
+ at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
+ ax.add_artist(at)
+
+ from matplotlib.patches import Circle
+ ada = AnchoredDrawingArea(20, 20, 0, 0,
+ loc=1, pad=0., frameon=False)
+ p = Circle((10, 10), 10)
+ ada.da.add_artist(p)
+ ax.add_artist(ada)
+
+ # draw an ellipse of width=0.1, height=0.15 in the data coordinate
+ ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0.,
+ loc=3, pad=0.5, borderpad=0.4, frameon=True)
+
+ ax.add_artist(ae)
+
+ # draw a horizontal bar with length of 0.1 in Data coordinate
+ # (ax.transData) with a label underneath.
+ as = AnchoredSizeBar(ax.transData,
+ 0.1,
+ r"1$^{\prime}$",
+ loc=8,
+ pad=0.1, borderpad=0.5, sep=5,
+ frameon=False)
+ ax.add_artist(as)
+
+ plt.draw()
+ plt.show()
+
+
+
+
Deleted: trunk/matplotlib/examples/pylab_examples/anchored_text.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/anchored_text.py	2009年03月20日 20:10:42 UTC (rev 6999)
+++ trunk/matplotlib/examples/pylab_examples/anchored_text.py	2009年03月20日 20:26:00 UTC (rev 7000)
@@ -1,183 +0,0 @@
-"""
-Place a text (or any offsetbox artist) at the corner of the axes, like a lenged.
-"""
-
-from matplotlib.offsetbox import TextArea, OffsetBox, DrawingArea
-from matplotlib.transforms import Bbox
-from matplotlib.font_manager import FontProperties
-from matplotlib import rcParams
-from matplotlib.patches import FancyBboxPatch
-from matplotlib.patches import Circle
-
-
-class AnchoredOffsetbox(OffsetBox):
- def __init__(self, loc, pad=0.4, borderpad=0.5,
- child=None, fontsize=None, frameon=True):
-
- super(AnchoredOffsetbox, self).__init__()
-
- self.set_child(child)
-
- self.loc = loc
- self.borderpad=borderpad
- self.pad = pad
-
- if fontsize is None:
- prop=FontProperties(size=rcParams["legend.fontsize"])
- self._fontsize = prop.get_size_in_points()
- else:
- self._fontsize = fontsize
-
-
-
- self.patch = FancyBboxPatch(
- xy=(0.0, 0.0), width=1., height=1.,
- facecolor='w', edgecolor='k',
- mutation_scale=self._fontsize,
- snap=True
- )
- self.patch.set_boxstyle("square",pad=0)
- self._drawFrame = frameon
-
- def set_child(self, child):
- self._child = child
-
- def get_children(self):
- return [self._child]
-
- def get_child(self):
- return self._child
-
- def get_extent(self, renderer):
- w, h, xd, yd = self.get_child().get_extent(renderer)
- fontsize = renderer.points_to_pixels(self._fontsize)
- pad = self.pad * fontsize
-
- return w+2*pad, h+2*pad, xd+pad, yd+pad
-
- def get_window_extent(self, renderer):
- '''
- get the bounding box in display space.
- '''
- w, h, xd, yd = self.get_extent(renderer)
- ox, oy = self.get_offset(w, h, xd, yd)
- return Bbox.from_bounds(ox-xd, oy-yd, w, h)
-
- def draw(self, renderer):
-
- if not self.get_visible(): return
-
- fontsize = renderer.points_to_pixels(self._fontsize)
-
- def _offset(w, h, xd, yd, fontsize=fontsize, self=self):
- bbox = Bbox.from_bounds(0, 0, w, h)
- borderpad = self.borderpad*fontsize
- x0, y0 = self._get_anchored_bbox(self.loc,
- bbox,
- self.axes.bbox,
- borderpad)
- return x0+xd, y0+yd
-
- self.set_offset(_offset)
-
- if self._drawFrame:
- # update the location and size of the legend
- bbox = self.get_window_extent(renderer)
- self.patch.set_bounds(bbox.x0, bbox.y0,
- bbox.width, bbox.height)
-
- self.patch.set_mutation_scale(fontsize)
-
- self.patch.draw(renderer)
-
-
- width, height, xdescent, ydescent = self.get_extent(renderer)
-
- px, py = self.get_offset(width, height, xdescent, ydescent)
-
- self.get_child().set_offset((px, py))
- self.get_child().draw(renderer)
-
-
-
- def _get_anchored_bbox(self, loc, bbox, parentbbox, borderpad):
- assert loc in range(1,11) # called only internally
-
- BEST, UR, UL, LL, LR, R, CL, CR, LC, UC, C = range(11)
-
- anchor_coefs={UR:"NE",
- UL:"NW",
- LL:"SW",
- LR:"SE",
- R:"E",
- CL:"W",
- CR:"E",
- LC:"S",
- UC:"N",
- C:"C"}
-
- c = anchor_coefs[loc]
-
- container = parentbbox.padded(-borderpad)
- anchored_box = bbox.anchored(c, container=container)
- return anchored_box.x0, anchored_box.y0
-
-
-class AnchoredText(AnchoredOffsetbox):
- def __init__(self, s, loc, pad=0.4, borderpad=0.5, prop=None, frameon=True):
-
- self.txt = TextArea(s,
- minimumdescent=False)
-
-
- if prop is None:
- self.prop=FontProperties(size=rcParams["legend.fontsize"])
- else:
- self.prop=prop
-
-
- super(AnchoredText, self).__init__(loc, pad=pad, borderpad=borderpad,
- child=self.txt,
- fontsize=self.prop.get_size_in_points(),
- frameon=frameon)
-
-
-class AnchoredDrawingArea(AnchoredOffsetbox):
- def __init__(self, width, height, xdescent, ydescent,
- loc, pad=0.4, borderpad=0.5, fontsize=None, frameon=True):
-
- self.da = DrawingArea(width, height, xdescent, ydescent, clip=True)
-
- super(AnchoredDrawingArea, self).__init__(loc, pad=pad, borderpad=borderpad,
- child=self.da,
- fontsize=fontsize,
- frameon=frameon)
-
-
-
-if __name__ == "__main__":
- import matplotlib.pyplot as plt
-
- #ax = plt.subplot(1,1,1)
- plt.clf()
- plt.cla()
- plt.draw()
- ax = plt.gca()
- #ax.set_aspect(1.)
-
- at = AnchoredText("Figure 1(a)", loc=2, frameon=False)
- ax.add_artist(at)
-
- ada = AnchoredDrawingArea(20, 20, 0, 0, loc=3, pad=0., frameon=False)
-
- p = Circle((10, 10), 10)
- ada.da.add_artist(p)
- ax.add_artist(ada)
-
- ax.plot([0,1])
- plt.draw()
-
- plt.show()
-
-
-
Modified: trunk/matplotlib/lib/matplotlib/offsetbox.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/offsetbox.py	2009年03月20日 20:10:42 UTC (rev 6999)
+++ trunk/matplotlib/lib/matplotlib/offsetbox.py	2009年03月20日 20:26:00 UTC (rev 7000)
@@ -656,3 +656,228 @@
 
 bbox_artist(self, renderer, fill=False, props=dict(pad=0.))
 
+
+
+class AuxTransformBox(OffsetBox):
+ """
+ Offset Box with the aux_transform . Its children will be
+ transformed with the aux_transform first then will be
+ offseted. The absolute coordinate of the aux_transform is meaning
+ as it will be automaticcaly adjust so that the left-lower corner
+ of the bounding box of children will be set to (0,0) before the
+ offset trnasform.
+
+ It is similar to drawing area, except that the extent of the box
+ is not predetemined but calculated from the window extent of its
+ children. Furthermore, the extent of the children will be
+ calculated in the transformed coordinate.
+ """
+
+ def __init__(self, aux_transform):
+ self.aux_transform = aux_transform
+ OffsetBox.__init__(self)
+
+ self.offset_transform = mtransforms.Affine2D()
+ self.offset_transform.clear()
+ self.offset_transform.translate(0, 0)
+
+ # ref_offset_transform is used to make the offset_transform is
+ # always reference to the lower-left corner of the bbox of its
+ # children.
+ self.ref_offset_transform = mtransforms.Affine2D()
+ self.ref_offset_transform.clear()
+
+ def add_artist(self, a):
+ 'Add any :class:`~matplotlib.artist.Artist` to the container box'
+ self._children.append(a)
+ a.set_transform(self.get_transform())
+
+ def get_transform(self):
+ """
+ Return the :class:`~matplotlib.transforms.Transform` applied
+ to the children
+ """
+
+ return self.aux_transform + \
+ self.ref_offset_transform + \
+ self.offset_transform
+
+ def set_transform(self, t):
+ """
+ set_transform is ignored.
+ """
+ pass
+
+
+ def set_offset(self, xy):
+ """
+ set offset of the container.
+
+ Accept : tuple of x,y cooridnate in disokay units.
+ """
+ self._offset = xy
+
+ self.offset_transform.clear()
+ self.offset_transform.translate(xy[0], xy[1])
+
+
+ def get_offset(self):
+ """
+ return offset of the container.
+ """
+ return self._offset
+
+
+ def get_window_extent(self, renderer):
+ '''
+ get the bounding box in display space.
+ '''
+ w, h, xd, yd = self.get_extent(renderer)
+ ox, oy = self.get_offset() #w, h, xd, yd)
+ return mtransforms.Bbox.from_bounds(ox-xd, oy-yd, w, h)
+
+
+ def get_extent(self, renderer):
+
+ # clear the offset transforms
+ _off = self.ref_offset_transform.to_values() # to be restored later
+ self.ref_offset_transform.clear()
+ self.offset_transform.clear()
+
+ # calculate the extent
+ bboxes = [c.get_window_extent(renderer) for c in self._children]
+ ub = mtransforms.Bbox.union(bboxes)
+
+
+ # adjust ref_offset_tansform
+ self.ref_offset_transform.translate(-ub.x0, -ub.y0)
+ # restor offset transform
+ self.offset_transform.matrix_from_values(*_off)
+ 
+ return ub.width, ub.height, 0., 0.
+
+
+ def draw(self, renderer):
+ """
+ Draw the children
+ """
+
+ for c in self._children:
+ c.draw(renderer)
+
+ bbox_artist(self, renderer, fill=False, props=dict(pad=0.))
+
+
+from matplotlib.font_manager import FontProperties
+from matplotlib.patches import FancyBboxPatch
+from matplotlib import rcParams
+from matplotlib.transforms import Bbox
+
+class AnchoredOffsetbox(OffsetBox):
+ def __init__(self, loc, pad=0.4, borderpad=0.5,
+ child=None, prop=None, frameon=True):
+
+ super(AnchoredOffsetbox, self).__init__()
+
+ self.set_child(child)
+
+ self.loc = loc
+ self.borderpad=borderpad
+ self.pad = pad
+
+ if prop is None:
+ self.prop=FontProperties(size=rcParams["legend.fontsize"])
+ else:
+ self.prop = prop
+ 
+ self.patch = FancyBboxPatch(
+ xy=(0.0, 0.0), width=1., height=1.,
+ facecolor='w', edgecolor='k',
+ mutation_scale=self.prop.get_size_in_points(),
+ snap=True
+ )
+ self.patch.set_boxstyle("square",pad=0)
+ self._drawFrame = frameon
+
+ def set_child(self, child):
+ self._child = child
+
+ def get_children(self):
+ return [self._child]
+
+ def get_child(self):
+ return self._child
+
+ def get_extent(self, renderer):
+ w, h, xd, yd = self.get_child().get_extent(renderer)
+ fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
+ pad = self.pad * fontsize
+
+ return w+2*pad, h+2*pad, xd+pad, yd+pad
+
+ def get_window_extent(self, renderer):
+ '''
+ get the bounding box in display space.
+ '''
+ w, h, xd, yd = self.get_extent(renderer)
+ ox, oy = self.get_offset(w, h, xd, yd)
+ return Bbox.from_bounds(ox-xd, oy-yd, w, h)
+
+ def draw(self, renderer):
+
+ if not self.get_visible(): return
+
+ fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
+
+ def _offset(w, h, xd, yd, fontsize=fontsize, self=self):
+ bbox = Bbox.from_bounds(0, 0, w, h)
+ borderpad = self.borderpad*fontsize
+ x0, y0 = self._get_anchored_bbox(self.loc,
+ bbox,
+ self.axes.bbox,
+ borderpad)
+ return x0+xd, y0+yd
+
+ self.set_offset(_offset)
+
+ if self._drawFrame:
+ # update the location and size of the legend
+ bbox = self.get_window_extent(renderer)
+ self.patch.set_bounds(bbox.x0, bbox.y0,
+ bbox.width, bbox.height)
+
+ self.patch.set_mutation_scale(fontsize)
+
+ self.patch.draw(renderer)
+
+
+ width, height, xdescent, ydescent = self.get_extent(renderer)
+
+ px, py = self.get_offset(width, height, xdescent, ydescent)
+
+ self.get_child().set_offset((px, py))
+ self.get_child().draw(renderer)
+
+
+
+ def _get_anchored_bbox(self, loc, bbox, parentbbox, borderpad):
+ assert loc in range(1,11) # called only internally
+
+ BEST, UR, UL, LL, LR, R, CL, CR, LC, UC, C = range(11)
+
+ anchor_coefs={UR:"NE",
+ UL:"NW",
+ LL:"SW",
+ LR:"SE",
+ R:"E",
+ CL:"W",
+ CR:"E",
+ LC:"S",
+ UC:"N",
+ C:"C"}
+
+ c = anchor_coefs[loc]
+
+ container = parentbbox.padded(-borderpad)
+ anchored_box = bbox.anchored(c, container=container)
+ return anchored_box.x0, anchored_box.y0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <lee...@us...> - 2009年03月20日 20:10:56
Revision: 6999
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6999&view=rev
Author: leejjoon
Date: 2009年03月20日 20:10:42 +0000 (2009年3月20日)
Log Message:
-----------
Add bar connection style for annotation
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/examples/pylab_examples/annotation_demo2.py
 trunk/matplotlib/lib/matplotlib/patches.py
 trunk/matplotlib/lib/matplotlib/text.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2009年03月19日 14:44:01 UTC (rev 6998)
+++ trunk/matplotlib/CHANGELOG	2009年03月20日 20:10:42 UTC (rev 6999)
@@ -1,3 +1,5 @@
+2009年03月20日 Add "bar" connection style for annotation - JJL
+
 2009年03月17日 Fix bugs in edge color handling by contourf, found
 by Jae-Joon Lee. - EF
 
Modified: trunk/matplotlib/examples/pylab_examples/annotation_demo2.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/annotation_demo2.py	2009年03月19日 14:44:01 UTC (rev 6998)
+++ trunk/matplotlib/examples/pylab_examples/annotation_demo2.py	2009年03月20日 20:10:42 UTC (rev 6999)
@@ -71,6 +71,14 @@
 )
 
 
+ ann = ax.annotate('', xy=(4., 1.), xycoords='data',
+ xytext=(4.5, -1), textcoords='data',
+ arrowprops=dict(arrowstyle="<->",
+ connectionstyle="bar",
+ ec="k",
+ shrinkA=5, shrinkB=5,
+ )
+ )
 
 
 if 1:
@@ -144,4 +152,5 @@
 )
 )
 
+
 show()
Modified: trunk/matplotlib/lib/matplotlib/patches.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/patches.py	2009年03月19日 14:44:01 UTC (rev 6998)
+++ trunk/matplotlib/lib/matplotlib/patches.py	2009年03月20日 20:10:42 UTC (rev 6999)
@@ -2545,6 +2545,92 @@
 
 _style_list["arc"] = Arc
 
+
+
+ class Bar(_Base):
+ """
+ A line with *angle* between A and B with *armA* and
+ *armB*. One of the arm is extend so that they are connected in
+ a right angle. The length of armA is determined by (*armA*
+ + *fraction* x AB distance). Same for armB.
+ """
+
+ def __init__(self, armA=0., armB=0., fraction=0.3, angle=None):
+ """
+ *armA* : minimum length of armA
+ *armB* : minimum length of armB
+ *fraction* : a fraction of the distance between two points that will be added to armA and armB.
+ *angle* : anlge of the connecting line (if None, parallel to A and B)
+ """
+ self.armA = armA
+ self.armB = armB
+ self.fraction = fraction
+ self.angle = angle
+
+ def connect(self, posA, posB):
+ x1, y1 = posA
+ x20, y20 = x2, y2 = posB
+ 
+ x12, y12 = (x1 + x2)/2., (y1 + y2)/2.
+
+ theta1 = math.atan2(y2-y1, x2-x1)
+ dx, dy = x2 - x1, y2 - y1
+ dd = (dx*dx + dy*dy)**.5
+ ddx, ddy = dx/dd, dy/dd
+
+ armA, armB = self.armA, self.armB
+ 
+ if self.angle is not None:
+ #angle = self.angle % 180.
+ #if angle < 0. or angle > 180.:
+ # angle
+ theta0 = (self.angle%180.)/180.*math.pi
+ #theta0 = (((self.angle+90)%180.) - 90.)/180.*math.pi
+ dtheta = theta1 - theta0
+ dl = dd*math.sin(dtheta)
+
+ dL = dd*math.cos(dtheta)
+
+ #x2, y2 = x2 + dl*ddy, y2 - dl*ddx
+ x2, y2 = x1 + dL*math.cos(theta0), y1 + dL*math.sin(theta0)
+
+ armB = armB - dl
+
+ # update
+ dx, dy = x2 - x1, y2 - y1
+ dd2 = (dx*dx + dy*dy)**.5
+ ddx, ddy = dx/dd2, dy/dd2
+
+ else:
+ dl = 0.
+ 
+ #if armA > armB:
+ # armB = armA + dl
+ #else:
+ # armA = armB - dl
+
+
+ arm = max(armA, armB)
+ f = self.fraction*dd + arm
+ #fB = self.fraction*dd + armB
+
+ cx1, cy1 = x1 + f*ddy, y1 - f*ddx
+ cx2, cy2 = x2 + f*ddy, y2 - f*ddx
+
+ vertices = [(x1, y1),
+ (cx1, cy1),
+ (cx2, cy2),
+ (x20, y20)]
+ codes = [Path.MOVETO,
+ Path.LINETO,
+ Path.LINETO,
+ Path.LINETO]
+
+ return Path(vertices, codes)
+
+ _style_list["bar"] = Bar
+
+
 __doc__ = cbook.dedent(__doc__) % \
 {"AvailableConnectorstyles": _pprint_styles(_style_list)}
 
Modified: trunk/matplotlib/lib/matplotlib/text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/text.py	2009年03月19日 14:44:01 UTC (rev 6998)
+++ trunk/matplotlib/lib/matplotlib/text.py	2009年03月20日 20:10:42 UTC (rev 6999)
@@ -406,6 +406,10 @@
 props = props.copy() # don't want to alter the pad externally
 pad = props.pop('pad', 4)
 pad = renderer.points_to_pixels(pad)
+ if self._text == "":
+ self.arrow_patch.set_patchA(None)
+ return
+ 
 bbox = self.get_window_extent(renderer)
 l,b,w,h = bbox.bounds
 l-=pad/2.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月19日 14:44:07
Revision: 6998
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6998&view=rev
Author: mdboom
Date: 2009年03月19日 14:44:01 +0000 (2009年3月19日)
Log Message:
-----------
Fix mapping regular font the StixSans when fontset is stixsans.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/mathtext.py
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月19日 13:15:00 UTC (rev 6997)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月19日 14:44:01 UTC (rev 6998)
@@ -908,7 +908,8 @@
 # Handle these "fonts" that are actually embedded in
 # other fonts.
 mapping = stix_virtual_fonts.get(fontname)
- if self._sans and mapping is None:
+ if (self._sans and mapping is None and
+ fontname not in ('regular', 'default')):
 mapping = stix_virtual_fonts['sf']
 doing_sans_conversion = True
 else:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 6997
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6997&view=rev
Author: mdboom
Date: 2009年03月19日 13:15:00 +0000 (2009年3月19日)
Log Message:
-----------
Fix bug in Cairo backend related to clipping -- thanks Nathaniel Smith
Modified Paths:
--------------
 branches/v0_98_5_maint/lib/matplotlib/backends/backend_cairo.py
Modified: branches/v0_98_5_maint/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/backends/backend_cairo.py	2009年03月19日 12:55:07 UTC (rev 6996)
+++ branches/v0_98_5_maint/lib/matplotlib/backends/backend_cairo.py	2009年03月19日 13:15:00 UTC (rev 6997)
@@ -109,6 +109,23 @@
 # font transform?
 
 
+ def _do_clip(self, ctx, cliprect, clippath):
+ if cliprect is not None:
+ x,y,w,h = cliprect.bounds
+ # pixel-aligned clip-regions are faster
+ x,y,w,h = round(x), round(y), round(w), round(h)
+ ctx.new_path()
+ ctx.rectangle (x, self.height - h - y, w, h)
+ ctx.clip ()
+
+ if clippath is not None:
+ tpath, affine = clippath.get_transformed_path_and_affine()
+ ctx.new_path()
+ affine = affine + Affine2D().scale(1.0, -1.0).translate(0.0, self.height)
+ tpath = affine.transform_path(tpath)
+ RendererCairo.convert_path(ctx, tpath)
+ ctx.clip()
+
 def _fill_and_stroke (self, ctx, fill_c, alpha):
 if fill_c is not None:
 ctx.save()
@@ -120,7 +137,6 @@
 ctx.restore()
 ctx.stroke()
 
-
 #@staticmethod
 def convert_path(ctx, tpath):
 for points, code in tpath.iter_segments():
@@ -144,6 +160,9 @@
 raise ValueError("The Cairo backend can not draw paths longer than 18980 points.")
 
 ctx = gc.ctx
+ ctx.save()
+ self._do_clip(ctx, gc._cliprect, gc._clippath)
+
 transform = transform + \
 Affine2D().scale(1.0, -1.0).translate(0, self.height)
 tpath = transform.transform_path(path)
@@ -152,6 +171,7 @@
 self.convert_path(ctx, tpath)
 
 self._fill_and_stroke(ctx, rgbFace, gc.get_alpha())
+ ctx.restore()
 
 def draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None):
 # bbox - not currently used
@@ -164,9 +184,16 @@
 buf, cairo.FORMAT_ARGB32, cols, rows, cols*4)
 # function does not pass a 'gc' so use renderer.ctx
 ctx = self.ctx
+ ctx.save()
+ if clippath is not None:
+ tpath = clippath_trans.transform_path(clippath)
+ ctx.new_path()
+ RendererCairo.convert_path(ctx, tpath)
+ ctx.clip()
 y = self.height - y - rows
 ctx.set_source_surface (surface, x, y)
 ctx.paint()
+ ctx.restore()
 
 im.flipud_out()
 
@@ -324,31 +351,10 @@
 
 def set_clip_rectangle(self, rectangle):
 self._cliprect = rectangle
- if rectangle is None:
- return
 
- x,y,w,h = rectangle.bounds
- # pixel-aligned clip-regions are faster
- x,y,w,h = round(x), round(y), round(w), round(h)
- ctx = self.ctx
- ctx.new_path()
- ctx.rectangle (x, self.renderer.height - h - y, w, h)
- ctx.clip ()
- # Alternative: just set _cliprect here and actually set cairo clip rect
- # in fill_and_stroke() inside ctx.save() ... ctx.restore()
-
-
 def set_clip_path(self, path):
- if path is not None:
- tpath, affine = path.get_transformed_path_and_affine()
- ctx = self.ctx
- ctx.new_path()
- affine = affine + Affine2D().scale(1.0, -1.0).translate(0.0, self.renderer.height)
- tpath = affine.transform_path(tpath)
- RendererCairo.convert_path(ctx, tpath)
- ctx.clip()
+ self._clippath = path
 
-
 def set_dashes(self, offset, dashes):
 self._dashes = offset, dashes
 if dashes == None:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2009年03月19日 12:55:12
Revision: 6996
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6996&view=rev
Author: mdboom
Date: 2009年03月19日 12:55:07 +0000 (2009年3月19日)
Log Message:
-----------
Merged revisions 6995 via svnmerge from 
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint
........
 r6995 | mdboom | 2009年03月19日 08:52:46 -0400 (2009年3月19日) | 2 lines
 
 Fix wavy baseline with STIX fonts -- again.
........
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/mathtext.py
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-6990
 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-6995
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月19日 12:52:46 UTC (rev 6995)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py	2009年03月19日 12:55:07 UTC (rev 6996)
@@ -201,7 +201,7 @@
 
 def render_glyph(self, ox, oy, info):
 info.font.draw_glyph_to_bitmap(
- self.image, ox, oy - info.metrics.ymax, info.glyph)
+ self.image, ox, oy - info.metrics.iceberg, info.glyph)
 
 def render_rect_filled(self, x1, y1, x2, y2):
 height = max(int(y2 - y1) - 1, 0)
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 6995
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6995&view=rev
Author: mdboom
Date: 2009年03月19日 12:52:46 +0000 (2009年3月19日)
Log Message:
-----------
Fix wavy baseline with STIX fonts -- again.
Modified Paths:
--------------
 branches/v0_98_5_maint/lib/matplotlib/mathtext.py
Modified: branches/v0_98_5_maint/lib/matplotlib/mathtext.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/mathtext.py	2009年03月18日 19:44:31 UTC (rev 6994)
+++ branches/v0_98_5_maint/lib/matplotlib/mathtext.py	2009年03月19日 12:52:46 UTC (rev 6995)
@@ -201,7 +201,7 @@
 
 def render_glyph(self, ox, oy, info):
 info.font.draw_glyph_to_bitmap(
- self.image, ox, oy - info.metrics.ymax, info.glyph)
+ self.image, ox, oy - info.metrics.iceberg, info.glyph)
 
 def render_rect_filled(self, x1, y1, x2, y2):
 height = max(int(y2 - y1) - 1, 0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Showing results of 74

1 2 3 > >> (Page 1 of 3)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /