Revision: 5265
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5265&view=rev
Author:   jdh2358
Date:     2008-05-25 13:58:06 -0700 (Sun, 25 May 2008)

Log Message:
-----------
updated default dir names for svn checkouts

Modified Paths:
--------------
    trunk/matplotlib/docs/devel/coding_guide.rst
    trunk/matplotlib/examples/api/logo2.py

Removed Paths:
-------------
    trunk/matplotlib/CODING_GUIDE

Deleted: trunk/matplotlib/CODING_GUIDE
===================================================================
--- trunk/matplotlib/CODING_GUIDE       2008-05-25 16:57:31 UTC (rev 5264)
+++ trunk/matplotlib/CODING_GUIDE       2008-05-25 20:58:06 UTC (rev 5265)
@@ -1,320 +0,0 @@
-= The matplotlib developer's guide =
-
-This is meant to be a guide to developers on the mpl coding practices
-and standards.  Please edit and extend this document.
-
-== svn checkouts ==
-
-# checking out everything (toolkits, user's guide, htdocs, etc..)
-svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk 
matplotlib --username=youruser --password=yourpass
-
-
-# checking out the main src
-svn co 
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib 
matplotlib --username=youruser --password=yourpass
-
-# branch checkouts, eg the transforms branch
-svn co 
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/transforms 
transbranch
-
-== Committing changes ==
-
-When committing changes to matplotlib, there are a few things to bear
-in mind.
-
-  * if your changes are non-trivial, please make an entry in the
-    CHANGELOG
-
-  * if you change the API, please document it in API_CHANGES, and
-    consider posting to mpl-devel
-
-  * Are your changes python2.3 compatible?  We are still trying to
-    support 2.3, so avoid 2.4 only features like decorators until we
-    remove 2.3 support
-
-  * Can you pass examples/backend_driver.py?  This is our poor man's
-    unit test.
-
-  * If you have altered extension code, do you pass
-    unit/memleak_hawaii.py?
-
-  * if you have added new files or directories, or reorganized
-    existing ones, are the new files included in the match patterns in
-    MANIFEST.in.  This file determines what goes into the src
-    distribution of the mpl build.
-
-  * Keep the maintenance branch and trunk in sync where it makes sense.
-    If there is a bug on both that needs fixing, use svnmerge.py to
-    keep them in sync.  http://www.orcaware.com/svn/wiki/Svnmerge.py.  The
-    basic procedure is:
-
-      - install svnmerge.py in your PATH:
-       wget 
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.py
-
-      - get a svn copy of the branch (svn co
-        
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_91_maint)
-        and the trunk (svn co
-        
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib)
-
-      - Michael advises making the change on the branch and committing
-        it.  Make sure you svn upped on the trunk and have no local
-        modifications, and then from the svn trunk do
-
-       # where the NNN are the revision numbers.  ranges also acceptable
-        > svnmerge.py merge -rNNN1,NNN2
-
-       # this file is automatically created by the merge command
-        > svn commit -F svnmerge-commit-message.txt
-
-== Importing and name spaces ==
-
-For numpy, use:
-
-
-    import numpy as np
-    a = np.array([1,2,3])
-
-
-For masked arrays, use:
-    from numpy import ma
-
-    (The earlier recommendation, 'import matplotlib.numerix.npyma as ma',
-    was needed temporarily during the development of the maskedarray
-    implementation as a separate package.  As of numpy 1.05, it
-    replaces the old implementation.
-    Note: "from numpy import ma" works with numpy < 1.05 *and* with
-    numpy >= 1.05.  "import numpy.ma as ma" works *only* with
-    numpy >= 1.05, so for now we must not use it.)
-
-For matplotlib main module, use:
-
-    import matplotlib as mpl
-    mpl.rcParams['xtick.major.pad'] = 6
-
-For matplotlib modules (or any other modules), use:
-
-    import matplotlib.cbook as cbook
-
-    if cbook.iterable(z):
-        pass
-
-    We prefer this over the equivalent 'from matplotlib import cbook'
-    because the latter is ambiguous whether cbook is a module or a
-    function to the new developer.  The former makes it explcit that
-    you are importing a module or package.
-
-== Naming, spacing, and formatting conventions ==
-
-In general, we want to hew as closely as possible to the standard
-coding guidelines for python written by Guido in
-http://www.python.org/dev/peps/pep-0008, though we do not do this
-throughout.
-
-  functions and class methods  : lower or lower_underscore_separated
-
-  attributes and variables     : lower or lowerUpper
-
-  classes                      : Upper or MixedCase
-
-Personally, I prefer the shortest names that are still readable.
-
-Also, use an editor that does not put tabs in files.  Four spaces
-should be used for indentation everywhere and if there is a file with
-tabs or more or less spaces it is a bug -- please fix it.
-
-Please avoid spurious invisible spaces at the ends of lines.
-(Tell your editor to strip whitespace from line ends when saving
-a file.)
-
-Keep docstrings uniformly indented as in the example below, with
-nothing to the left of the triple quotes.  The dedent() function
-is needed to remove excess indentation only if something will be
-interpolated into the docstring, again as in the example above.
-
-Limit line length to 80 characters.  If a logical line needs to be
-longer, use parentheses to break it; do not use an escaped
-newline.  It may be preferable to use a temporary variable
-to replace a single long line with two shorter and more
-readable lines.
-
-Please do not commit lines with trailing white space, as it causes
-noise in svn diffs.  If you are an emacs user, the following in your
-.emacs will cause emacs to strip trailing white space on save for
-python, C and C++
-
-
-; and similarly for c++-mode-hook and c-mode-hook
-(add-hook 'python-mode-hook
-          (lambda ()
-         (add-hook 'write-file-functions 'delete-trailing-whitespace)))
-
-
-
-for older versions of emacs (emacs<22) you need to do
-
-(add-hook 'python-mode-hook
-          (lambda ()
-          (add-hook 'local-write-file-hooks 'delete-trailing-whitespace)))
-
-
-
-
-== Licenses ==
-
-matplotlib only uses BSD compatible code.  If you bring in code from
-another project make sure it has a PSF, BSD, MIT or compatible
-license.  If not, you may consider contacting the author and asking
-them to relicense it.  GPL and LGPL code are not acceptible in the
-main code base, though we are considering an alternative way of
-distributing L/GPL code through an separate channel, possibly a
-toolkit.  If you include code, make sure you include a copy of that
-code's license in the license directory if the code's license requires
-you to distribute the license with it.
-
-
-== Keyword argument processing ==
-
-Matplotlib makes extensive use of **kwargs for pass through
-customizations from one function to another.  A typical example is in
-pylab.text,  The definition of the pylab text function is a simple
-pass-through to axes.Axes.text
-
-    # in pylab.py
-    def text(*args, **kwargs):
-        ret =  gca().text(*args, **kwargs)
-        draw_if_interactive()
-        return ret
-
-
-axes.Axes.text in simplified form looks like this, ie it just passes
-them on to text.Text.__init__
-    # in axes.py
-    def text(self, x, y, s, fontdict=None, withdash=False, **kwargs):
-        t = Text(x=x, y=y, text=s, **kwargs)
-
-
-and Text.__init__ (again with liberties for illustration) just passes
-them on to the artist.Artist.update method
-
-    # in text.py
-    def __init__(self, x=0, y=0, text='', **kwargs):
-        Artist.__init__(self)
-        self.update(kwargs)
-
-'update' does the work looking for methods named like 'set_property'
-if 'property' is a keyword argument.  Ie, noone looks at the keywords,
-they just get passed through the API to the artist constructor which
-looks for suitably named methods and calls them with the value.
-
-As a general rule, the use of **kwargs should be reserved for
-pass-through keyword arguments, as in the examaple above.  If I intend
-for all the keyword args to be used in some function and not passed
-on, I just use the key/value keyword args in the function definition
-rather than the **kwargs idiom.
-
-In some cases I want to consume some keys and pass through the others,
-in which case I pop the ones I want to use locally and pass on the
-rest, eg I pop scalex and scaley in Axes.plot and assume the rest are
-Line2D keyword arguments.  As an example of a pop, passthrough
-usage, see Axes.plot:
-
-    # in axes.py
-    def plot(self, *args, **kwargs):
-        scalex = kwargs.pop('scalex', True)
-        scaley = kwargs.pop('scaley', True)
-        if not self._hold: self.cla()
-        lines = []
-        for line in self._get_lines(*args, **kwargs):
-            self.add_line(line)
-            lines.append(line)
-
-The matplotlib.cbook function popd() is rendered
-obsolete by the pop() dictionary method introduced in Python 2.3,
-so it should not be used for new code.
-
-Note there is a use case when kwargs are meant to be used locally in
-the function (not passed on), but you still need the **kwargs idiom.
-That is when you want to use *args to allow variable numbers of
-non-keyword args.  In this case, python will not allow you to use
-named keyword args after the *args usage, so you will be forced to use
-**kwargs.  An example is matplotlib.contour.ContourLabeler.clabel
-
-    # in contour.py
-    def clabel(self, *args, **kwargs):
-        fontsize = kwargs.get('fontsize', None)
-        inline = kwargs.get('inline', 1)
-        self.fmt = kwargs.get('fmt', '%1.3f')
-        colors = kwargs.get('colors', None)
-        if len(args) == 0:
-            levels = self.levels
-            indices = range(len(self.levels))
-        elif len(args) == 1:
-           ...etc...
-
-== Class documentation ==
-
-matplotlib uses artist instrospection of docstrings to support
-properties.  All properties that you want to support through setp and
-getp should have a set_property and get_property method in the Artist
-class.  Yes, this is not ideal given python properties or enthought
-traits, but it is a historical legacy for now.  The setter methods use
-the docstring with the ACCEPTS token to indicate the type of argument
-the method accepts.  Eg in matplotlib.lines.Line2D
-
-    # in lines.py
-    def set_linestyle(self, linestyle):
-        """
-        Set the linestyle of the line
-
-        ACCEPTS: [ '-' | '--' | '-.' | ':' | 'steps' | 'None' | ' ' | '' ]
-        """
-
-
-Since matplotlib uses a lot of pass through kwargs, eg in every
-function that creates a line (plot, semilogx, semilogy, etc...), it
-can be difficult for the new user to know which kwargs are supported.
-I have developed a docstring interpolation scheme to support
-documentation of every function that takes a **kwargs.  The
-requirements are:
-
-  1) single point of configuration so changes to the properties don't
-     require multiple docstring edits
-
-  2) as automated as possible so that as properties change the docs
-     are updated automagically.
-
-I have added a matplotlib.artist.kwdocd and kwdoc() to faciliate this.
-They combines python string interpolation in the docstring with the
-matplotlib artist introspection facility that underlies setp and getp.
-The kwdocd is a single dictionary that maps class name to a docstring
-of kwargs.  Here is an example from matplotlib.lines
-
-    # in lines.py
-    artist.kwdocd['Line2D'] = artist.kwdoc(Line2D)
-
-Then in any function accepting Line2D passthrough kwargs, eg
-matplotlib.axes.Axes.plot
-
-    # in axes.py
-...
-    def plot(self, *args, **kwargs):
-        """
-        Some stuff omitted
-
-        The kwargs are Line2D properties:
-        %(Line2D)s
-
-        kwargs scalex and scaley, if defined, are passed on
-        to autoscale_view to determine whether the x and y axes are
-        autoscaled; default True.  See Axes.autoscale_view for more
-        information
-        """
-        pass
-    plot.__doc__ = cbook.dedent(plot.__doc__) % artist.kwdocd
-
-Note there is a problem for Artist __init__ methods, eg Patch.__init__
-which supports Patch kwargs, since the artist inspector cannot work
-until the class is fully defined and we can't modify the
-Patch.__init__.__doc__ docstring outside the class definition.  I have
-made some manual hacks in this case which violates the "single entry
-point" requirement above; hopefully we'll find a more elegant solution
-before too long
-

Modified: trunk/matplotlib/docs/devel/coding_guide.rst
===================================================================
--- trunk/matplotlib/docs/devel/coding_guide.rst        2008-05-25 16:57:31 UTC 
(rev 5264)
+++ trunk/matplotlib/docs/devel/coding_guide.rst        2008-05-25 20:58:06 UTC 
(rev 5265)
@@ -13,12 +13,12 @@
 Checking out the main source::
 
    svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/\
-   matplotlib matplotlib --username=youruser --password=yourpass
+   matplotlib mpl --username=youruser --password=yourpass
 
 Branch checkouts, eg the maintenance branch::
 
    svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
-   v0_91_maint mplv0_91_maint
+   v0_91_maint mpl91
 
 Committing changes
 ==================

Modified: trunk/matplotlib/examples/api/logo2.py
===================================================================
--- trunk/matplotlib/examples/api/logo2.py      2008-05-25 16:57:31 UTC (rev 
5264)
+++ trunk/matplotlib/examples/api/logo2.py      2008-05-25 20:58:06 UTC (rev 
5265)
@@ -14,9 +14,12 @@
 ax = fig.add_axes([0.05, 0.05, 0.2, 01], polar=True)
 ax.axesPatch.set_alpha(axalpha)
 N = 20
-theta = np.arange(0.0, 2*np.pi, 2*np.pi/N)
+theta = np.arange(0.0, 2*np.pi, 2*np.pi/N) + np.pi
 radii = 10*np.random.rand(N)
-width = np.pi/4*np.random.rand(N)
+width = np.pi/6*np.random.rand(N)
+#radii = np.log(np.arange(1,N+1))
+#width = np.arange(N, dtype=float)/N*np.pi/8
+
 bars = ax.bar(theta, radii, width=width, bottom=0.0)
 for r,bar in zip(radii, bars):
     bar.set_facecolor( cm.jet(r/10.))
@@ -33,7 +36,8 @@
 x = mu + sigma*np.random.randn(10000)
 
 # the histogram of the data
-n, bins, patches = axhist.hist(x, 50, normed=1, facecolor='green', 
edgecolor='green', alpha=0.75)
+n, bins, patches = axhist.hist(x, 50, normed=1,
+    facecolor='green', edgecolor='green', alpha=0.75)
 
 
 y = mlab.normpdf( bins, mu, sigma)
@@ -51,8 +55,10 @@
 
 #the math background
 tex = r"$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = U^{3\beta}_{\delta_1 \rho_1} 
+ \frac{1}{8 \pi 2} \int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ 
U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} 
}{U^{0\beta}_{\rho_1 \sigma_2}}\right]$"
+radargreen = '#d5de9c'
+orange = '#ee8d18'
 axback.text(0.5, 0.5, tex,
-            transform=axback.transAxes, color="0.5", alpha=0.5, fontsize=40,
+            transform=axback.transAxes, color='black', alpha=0.25, fontsize=40,
             ha='center', va='center')
 axback.set_axis_off()
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to