Revision: 5349
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5349&view=rev
Author: dsdale
Date: 2008-06-01 06:15:36 -0700 (Sun, 01 Jun 2008)
Log Message:
-----------
do not use column- or row-spanning cells in rest tables.
Such tables can not be converted to latex by sphinx.
Modified Paths:
--------------
trunk/matplotlib/doc/api/pyplot_api.rst
trunk/matplotlib/doc/devel/documenting_mpl.rst
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/matplotlib/contour.py
trunk/matplotlib/lib/matplotlib/lines.py
trunk/matplotlib/lib/matplotlib/pyplot.py
Modified: trunk/matplotlib/doc/api/pyplot_api.rst
===================================================================
--- trunk/matplotlib/doc/api/pyplot_api.rst 2008-06-01 11:07:42 UTC (rev
5348)
+++ trunk/matplotlib/doc/api/pyplot_api.rst 2008-06-01 13:15:36 UTC (rev
5349)
@@ -2,8 +2,9 @@
matplotlib pyplot
*****************
+
:mod:`matplotlib.pyplot`
=============================
.. automodule:: matplotlib.pyplot
- :members: acorr
\ No newline at end of file
+ :members:
\ No newline at end of file
Modified: trunk/matplotlib/doc/devel/documenting_mpl.rst
===================================================================
--- trunk/matplotlib/doc/devel/documenting_mpl.rst 2008-06-01 11:07:42 UTC
(rev 5348)
+++ trunk/matplotlib/doc/devel/documenting_mpl.rst 2008-06-01 13:15:36 UTC
(rev 5349)
@@ -30,6 +30,9 @@
statement. For example, in the Developers Guide, index.rst lists
coding_guide, which automatically inserts coding_guide.rst.
+Sphinx does not support tables with column- or row-spanning cells for
+latex output. Such tables can not be used when documenting matplotlib.
+
Mathematical expressions can be rendered as png images in html, and in
the usual way by latex. For example:
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2008-06-01 11:07:42 UTC (rev
5348)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2008-06-01 13:15:36 UTC (rev
5349)
@@ -3888,7 +3888,7 @@
call signature::
errorbar(x, y, yerr=None, xerr=None,
- fmt='b-', ecolor=None, elinewidth=None, capsize=3,
+ fmt='-', ecolor=None, elinewidth=None, capsize=3,
barsabove=False, lolims=False, uplims=False,
xlolims=False, xuplims=False)
@@ -3901,39 +3901,31 @@
Optional keyword arguments:
- +------------+------------------------------------------------------+
- | Keyword | Description |
- +============+======================================================+
- | xerr | a rank-0 or Nx1 Numpy array yields symmetric |
- | yerr | errorbars +/- value |
- | +------------------------------------------------------+
- | | an N-element list or tuple yields symmetric |
- | | errorbars +/- value |
- | +------------------------------------------------------+
- | | a rank-1, Nx2 Numpy array yields asymmetric |
- | | errorbars: -column1/+column2 |
- +------------+------------------------------------------------------+
- | fmt | the plot format symbol for y. If fmt is None, just |
- | | plot the errorbars with no line symbols. This can |
- | | be useful for creating a bar plot with errorbars |
- +------------+------------------------------------------------------+
- | ecolor | a matplotlib color arg which gives the color the |
- | | errorbar lines; if None, use the marker color. |
- +------------+------------------------------------------------------+
- | elinewidth | the linewidth of the errorbar lines. If None, use |
- | | the linewidth. |
- +------------+------------------------------------------------------+
- | capsize | the size of the error bar caps in points |
- +------------+------------------------------------------------------+
- | barsabove | if True, will plot the errorbars above the plot |
- | | symbols. Default is below. |
- +------------+------------------------------------------------------+
- | lolims | These arguments can be used to indicate that a value |
- | uplims | gives only upper/lower limits. In that case a caret |
- | xlolims | symbol is used to indicate this. lims-arguments may |
- | xuplims | be of the same type as xerr and yerr. |
- +------------+------------------------------------------------------+
+ xerr/yerr: [ scalar | N, Nx1, Nx2 array-like ]
+ If a scalar number, len(N) array-like object, or an Nx1 array-like
+ object, errorbars are drawn +/- value.
+ If a rank-1, Nx2 Numpy array, errorbars are drawn at -column1 and
+ +column2
+ fmt: '-'
+ The plot format symbol for y. If fmt is None, just plot the
+ errorbars with no line symbols. This can be useful for creating a
+ bar plot with errorbars.
+ ecolor: [ None | mpl color ]
+ a matplotlib color arg which gives the color the errorbar lines; if
+ None, use the marker color.
+ elinewidth: scalar
+ the linewidth of the errorbar lines. If None, use the linewidth.
+ capsize: scalar
+ the size of the error bar caps in points
+ barsabove: [ True | False ]
+ if True, will plot the errorbars above the plot symbols. Default is
+ below.
+ lolims/uplims/xlolims/xuplims: [ False | True ]
+ These arguments can be used to indicate that a value gives only
+ upper/lower limits. In that case a caret symbol is used to indicate
+ this. lims-arguments may be of the same type as xerr and yerr.
+
All other keyword arguments are passed on to the plot command for the
markers, so you can add additional key=value pairs to control the
errorbar markers. For example, this code makes big red squares with
@@ -4594,73 +4586,61 @@
Optional keyword arguments:
-
+----------+---------------------------------------------------------+
- | Keyword | Description
|
-
+==========+=========================================================+
- | gridsize | The number of hexagons in the x-direction, default is
|
- | | 100. The corresponding number of hexagons in the
|
- | | y-direction is chosen such that the hexagons are
|
- | | approximately regular. Alternatively, gridsize can be a
|
- | | tuple with two elements specifying the number of
|
- | | hexagons in the x-direction and the y-direction.
|
-
+----------+---------------------------------------------------------+
- | bins | If None, no binning is applied; the color of each
|
- | | hexagon directly corresponds to its count value.
|
- |
+---------------------------------------------------------+
- | | If 'log', use a logarithmic scale for the color
|
- | | map. Internally, log10(count+1) is used to determine
|
- | | the hexagon color.
|
- |
+---------------------------------------------------------+
- | | If an integer, divide the counts in the specified
|
- | | number of bins, and color the hexagons accordingly
|
- |
+---------------------------------------------------------+
- | | I a sequence of values, the values of the lower bound
|
- | | of the bins to be used.
|
-
+----------+---------------------------------------------------------+
- | xscale | [ 'linear' | 'log' ]
|
- | | Use a log10 scale on the horizontal axis.
|
-
+----------+---------------------------------------------------------+
- | yscale | [ 'linear' | 'log' ]
|
- | | Use a log10 scale on the vertical axis.
|
-
+----------+---------------------------------------------------------+
+ gridsize: [ 100 | integer ]
+ The number of hexagons in the x-direction, default is 100. The
+ corresponding number of hexagons in the y-direction is chosen such
+ that the hexagons are approximately regular. Alternatively,
+ gridsize can be a tuple with two elements specifying the number of
+ hexagons in the x-direction and the y-direction.
+ bins: [ None | 'log' | integer | sequence ]
+ If None, no binning is applied; the color of each hexagon directly
+ corresponds to its count value.
+ If 'log', use a logarithmic scale for the color map. Internally,
+ log10(count+1) is used to determine the hexagon color.
+
+ If an integer, divide the counts in the specified number of bins,
+ and color the hexagons accordingly.
+
+ I a sequence of values, the values of the lower bound of the bins
+ to be used.
+ xscale: [ 'linear' | 'log' ]
+ Use a linear or log10 scale on the horizontal axis.
+ scale: [ 'linear' | 'log' ]
+ Use a linear or log10 scale on the vertical axis.
+
Other keyword arguments controlling color mapping and normalization
arguments:
- ========== ======================================================
- Keyword Description
- ========== ======================================================
- cmap a colors.Colormap instance from cm. defaults to rc
- image.cmap
- norm colors.Normalize instance is used to scale luminance
- data to 0,1.
- vmin/vmax vmin and vmax are used in conjunction with norm to
- normalize luminance data. If either are None, the
- min and max of the color array C is used. Note if you
- pass a norm instance, your settings for vmin and vmax
- will be ignored
- alpha the alpha value for the patches
- linewidths if None, defaults to (lines.linewidth,). Note
- that this is a tuple, and if you set the linewidths
- argument you must set it as a sequence of floats, as
- required by RegularPolyCollection -- see
- collections.RegularPolyCollection for details
- ========== ======================================================
+ cmap: [ None | Colormap ]
+ a colors.Colormap instance from cm. If None, defaults to rc
+ image.cmap.
+ norm: [ None | Normalize ]
+ colors.Normalize instance is used to scale luminance data to 0,1.
+ vmin/vmax: scalar
+ vmin and vmax are used in conjunction with norm to normalize
+ luminance data. If either are None, the min and max of the color
+ array C is used. Note if you pass a norm instance, your settings
+ for vmin and vmax will be ignored.
+ alpha: scalar
+ the alpha value for the patches
+ linewidths: [ None | scalar ]
+ If None, defaults to rc lines.linewidth. Note that this is a tuple,
+ and if you set the linewidths argument you must set it as a
+ sequence of floats, as required by RegularPolyCollection -- see
+ collections.RegularPolyCollection for details.
Other keyword arguments controlling the Collection properties:
- ========== ======================================================
- Keyword Description
- ========== ======================================================
- edgecolors if 'none', draws the edges in the same color as the
- fill color. This is the default, as it avoids
- unsightly unpainted pixels between the hexagons.
+ edgecolors: [ None | mpl color | color sequence ]
+ If 'none', draws the edges in the same color as the fill color.
+ This is the default, as it avoids unsightly unpainted pixels
+ between the hexagons.
- if None, draws the outlines in the default color.
+ If None, draws the outlines in the default color.
- if a matplotlib color arg or sequence of rgba tuples,
- draws the outlines in the specified color.
- ========== ======================================================
+ If a matplotlib color arg or sequence of rgba tuples, draws the
+ outlines in the specified color.
Here are the standard descriptions of all the Collection kwargs:
%(Collection)s
Modified: trunk/matplotlib/lib/matplotlib/contour.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/contour.py 2008-06-01 11:07:42 UTC (rev
5348)
+++ trunk/matplotlib/lib/matplotlib/contour.py 2008-06-01 13:15:36 UTC (rev
5349)
@@ -32,40 +32,37 @@
"""
call signature::
- clabel(CS, **kwargs)
+ clabel(cs, **kwargs)
- adds labels to line contours in CS, where CS is a ContourSet object
+ adds labels to line contours in cs, where cs is a ContourSet object
returned by contour.
- call signature::
+ ::
- clabel(CS, V, **kwargs)
+ clabel(cs, v, **kwargs)
- only labels contours listed in V
+ only labels contours listed in v
Optional keyword arguments:
- +----------+--------------------------------------------------------+
- | Keyword | Description |
- +==========+========================================================+
- | fontsize | See http://matplotlib.sf.net/fonts.html |
- +----------+--------------------------------------------------------+
- | | a tuple of matplotlib color args (string, float, rgb, |
- | | etc). Different labels will be plotted in different |
- | | colors in the order specified |
- | +--------------------------------------------------------+
- | colors | one string color, e.g. colors = 'r' or colors = 'red' |
- | | all labels will be plotted in this color |
- | +--------------------------------------------------------+
- | | None, the color of each label matches the color |
- | | of the corresponding contour |
- +----------+--------------------------------------------------------+
- | inline | controls whether the underlying contour is removed |
- | | (inline = True) or not (False). Default is True |
- +----------+--------------------------------------------------------+
- | fmt | a format string for the label. Default is '%1.3f' |
- +----------+--------------------------------------------------------+
+ fontsize:
+ See http://matplotlib.sf.net/fonts.html
+ colors:
+ if None, the color of each label matches the color of the
+ corresponding contour
+ if one string color, e.g. colors = 'r' or colors = 'red' all labels
+ will be plotted in this color
+
+ if a tuple of matplotlib color args (string, float, rgb, etc),
+ different labels will be plotted in different colors in the order
+ specified
+ inline:
+ controls whether the underlying contour is removed
+ (inline = True) or not (False). Default is True
+ fmt:
+ a format string for the label. Default is '%1.3f'
+
"""
fontsize = kwargs.get('fontsize', None)
inline = kwargs.get('inline', 1)
@@ -384,11 +381,15 @@
User-callable method: clabel
Useful attributes:
- ax - the axes object in which the contours are drawn
- collections - a silent_list of LineCollections or PolyCollections
- levels - contour levels
- layers - same as levels for line contours; half-way between
- levels for filled contours. See _process_colors method.
+ ax:
+ the axes object in which the contours are drawn
+ collections:
+ a silent_list of LineCollections or PolyCollections
+ levels:
+ contour levels
+ layers:
+ same as levels for line contours; half-way between
+ levels for filled contours. See _process_colors method.
"""
@@ -801,108 +802,71 @@
Optional keyword arguments:
-
+---------+-----------+----------------------------------------------+
- | Keyword | Default | Description
|
-
+=========+===========+==============================================+
- | colors | None | a tuple of matplotlib color args (string,
|
- | | | float, rgb, etc), different levels will be
|
- | | | plotted in different colors in the order
|
- | | | specified
|
- | |
+----------------------------------------------+
- | | | one string color, e.g.:
|
- | | |
|
- | | | >>> colors = 'r'
|
- | | |
|
- | | | all levels will be plotted in this color
|
- | |
+----------------------------------------------+
- | | | if colors is None, the colormap specified by
|
- | | | cmap will be used
|
-
+---------+-----------+----------------------------------------------+
- | alpha | 1.0 | the alpha blending value
|
-
+---------+-----------+----------------------------------------------+
- | cmap | None | a cm Colormap instance from matplotlib.cm.
|
- | | | if cmap is None and colors is None, a
|
- | | | default Colormap is used.
|
-
+---------+-----------+----------------------------------------------+
- | norm | None | a matplotlib.colors.Normalize instance for
|
- | | | scaling data values to colors. If norm is
|
- | | | None and colors is None, the default linear
|
- | | | scaling is used.
|
-
+---------+-----------+----------------------------------------------+
- | origin | None | [ 'upper' | 'lower' | 'image' | None ]
|
- | | | If 'image', the rc value for image.origin
|
- | | | will be used. If None, the first value of Z
|
- | | | will correspond to the lower left corner,
|
- | | | location (0,0).
|
- | | |
|
- | | | This keyword is not active if X and Y are
|
- | | | specified in the call to contour.
|
-
+---------+-----------+----------------------------------------------+
- | extent | None | (x0,x1,y0,y1) If origin is not None, then
|
- | | | extent is interpreted as in imshow: it gives
|
- | | | the outer pixel boundaries. In this case,
|
- | | | the position of Z[0,0] is the center of the
|
- | | | pixel, not a corner. If origin is None, then
|
- | | | (x0,y0) is the position of Z[0,0], and
|
- | | | (x1,y1) is the position of Z[-1,-1].
|
- | | |
|
- | | | This keyword is not active if X and Y are
|
- | | | specified in the call to contour.
|
-
+---------+-----------+----------------------------------------------+
- | locator | None | an instance of a ticker.Locator subclass.
|
- | | | If locator is None, the default MaxNLocator
|
- | | | is used. The locator is used to determine
|
- | | | the contour levels if they are not given
|
- | | | explicitly via the V argument.
|
-
+---------+-----------+----------------------------------------------+
- | extend | 'neither' | ['neither' | 'both' | 'min' | 'max' ]
|
- | | | Unless this is 'neither', contour levels are
|
- | | | automatically added to one or both ends of
|
- | | | the range so that all data are included.
|
- | | | These added ranges are then mapped to the
|
- | | | special colormap values which default to the
|
- | | | ends of the colormap range, but can be set
|
- | | | via Colormap.set_under() and
|
- | | | Colormap.set_over() methods.
|
-
+---------+-----------+----------------------------------------------+
+ colors: [ None | string | (mpl_colors) ]
+ If None, the colormap specified by cmap will be used.
- contour only keyword arguments:
+ If a string like 'r' or 'red', all levels will be plotted in this
+ color.
-
+------------+---------+---------------------------------------------+
- | Keyword | Default | Description
|
-
+============+=========+=============================================+
- | linewidths | None | a number: all levels will be plotted with
|
- | | | this linewidth, e.g.:
|
- | | |
|
- | | | >>> linewidths = 0.6
|
- | | |
|
- | |
+---------------------------------------------+
- | | | a tuple of numbers, e.g.:
|
- | | |
|
- | | | >>> linewidths = (0.4, 0.8, 1.2)
|
- | | |
|
- | | | different levels will be plotted with
|
- | | | different linewidths in the order specified
|
- | |
+---------------------------------------------+
- | | | if linewidths is None, the default width in
|
- | | | lines.linewidth in matplotlibrc is used
|
-
+------------+---------+---------------------------------------------+
+ If a tuple of matplotlib color args (string, float, rgb, etc),
+ different levels will be plotted in different colors in the order
+ specified.
+ alpha: float
+ The alpha blending value
+ cmap: [ None | Colormap ]
+ A cm Colormap instance from matplotlib.cm or None. If cmap is None
+ and colors is None, a default Colormap is used.
+ norm: [ None | Normalize ]
+ A matplotlib.colors.Normalize instance for scaling data values to
+ colors. If norm is None and colors is None, the default linear
+ scaling is used.
+ origin: [ None | 'upper' | 'lower' | 'image' ]
+ If None, the first value of Z will correspond to the lower left
+ corner, location (0,0). If 'image', the rc value for image.origin
+ will be used.
+ This keyword is not active if X and Y are specified in the call to
+ contour.
+ extent: [ None | (x0,x1,y0,y1) ]
+ If origin is not None, then extent is interpreted as in imshow: it
+ gives the outer pixel boundaries. In this case, the position of
+ Z[0,0] is the center of the pixel, not a corner. If origin is None,
+ then (x0,y0) is the position of Z[0,0], and (x1,y1) is the position
+ of Z[-1,-1].
+
+ This keyword is not active if X and Y are specified in the call to
+ contour.
+ locator: [ None | ticker.Locator subclass ]
+ If locator is None, the default MaxNLocator is used. The locator is
+ used to determine the contour levels if they are not given
+ explicitly via the V argument.
+ extend: [ 'neither' | 'both' | 'min' | 'max' ]
+ Unless this is 'neither', contour levels are automatically added to
+ one or both ends of the range so that all data are included. These
+ added ranges are then mapped to the special colormap values which
+ default to the ends of the colormap range, but can be set via
+ Colormap.set_under() and Colormap.set_over() methods.
+
contour only keyword arguments:
-
+-------------+---------+--------------------------------------------+
- | Keyword | Default | Description
|
-
+=============+=========+============================================+
- | antialiased | True | [ True | False ]
|
-
+-------------+---------+--------------------------------------------+
- | nchunk | 0 | 0 for no subdivision of the domain
|
- | | | specify a positive integer to divide the
|
- | | | domain into subdomains of roughly nchunk
|
- | | | by nchunk points. This may never actually
|
- | | | be advantageous, so this option may be
|
- | | | removed. Chunking introduces artifacts at
|
- | | | the chunk boundaries unless antialiased
|
- | | | is False
|
-
+-------------+---------+--------------------------------------------+
+ linewidths: [ None | number | tuple of numbers ]
+ if linewidths is None, the default width in lines.linewidth in
+ matplotlibrc is used
+ If a number, all levels will be plotted with this linewidth.
+
+ If a tuple, different levels will be plotted with different
+ linewidths in the order specified
+
+ contourf only keyword arguments:
+
+ antialiased: [ True | False ]
+ enable antialiasing
+ nchunk: [ 0 | integer ]
+ If 0, no subdivision of the domain. Specify a positive integer to
+ divide the domain into subdomains of roughly nchunk by nchunk
+ points. This may never actually be advantageous, so this option may
+ be removed. Chunking introduces artifacts at the chunk boundaries
+ unless antialiased is False.
+
"""
Modified: trunk/matplotlib/lib/matplotlib/lines.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/lines.py 2008-06-01 11:07:42 UTC (rev
5348)
+++ trunk/matplotlib/lib/matplotlib/lines.py 2008-06-01 13:15:36 UTC (rev
5349)
@@ -214,7 +214,7 @@
linestyle or ls: [ '-' | '--' | '-.' | ':' | 'steps' | 'steps-pre' |
'steps-mid' | 'steps-post' | 'None' | ' ' | '' ]
linewidth or lw: float value in points
lod: [True | False]
- marker: [ '+' | ',' | '.' | '1' | '2' | '3' | '4'
+ marker: [ '+' | ',' | '.' | '1' | '2' | '3' | '4' ]
markeredgecolor or mec: any matplotlib color
markeredgewidth or mew: float value in points (default 5)
markerfacecolor or mfc: any matplotlib color
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py 2008-06-01 11:07:42 UTC (rev
5348)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py 2008-06-01 13:15:36 UTC (rev
5349)
@@ -631,41 +631,49 @@
"""
Set/Get the axis properties:
-
+--------------------+-----------------------------------------------------+
- | Use | Description
|
-
+====================+=====================================================+
- | >>> axis() | returns the current axes limits
|
- | | [xmin, xmax, ymin, ymax]
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis(v) | sets the min and max of the x and y axes
|
- | | v = [xmin, xmax, ymin, ymax]
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('off') | turns off the axis lines and labels
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('equal') | changes limits of x or y axis so that equal
|
- | | increments of x and y have the same length;
|
- | | a circle is circular.
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('scaled') | achieves the same result by changing the
|
- | | dimensions of the plot box instead of the axis data
|
- | | limits.
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('tight') | changes x and y axis limits such that all data is
|
- | | shown. If all data is already shown, it will move
|
- | | it to the center of the figure without modifying
|
- | | (xmax-xmin) or (ymax-ymin). Note this is slightly
|
- | | different than in matlab.
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('image') | is 'scaled' with the axis limits equal to the
|
- | | data limits.
|
-
+--------------------+-----------------------------------------------------+
- | >>> axis('auto') | (deprecated) restores default behavior; axis
|
- | >>> axis('normal') | limits are automatically scaled to make the data
|
- | | fit comfortably within the plot box.
|
-
+--------------------+-----------------------------------------------------+
+ >>> axis()
+ returns the current axes limits ``[xmin, xmax, ymin, ymax]``.
+ >>> axis(v)
+ sets the min and max of the x and y axes, with
+ ``v = [xmin, xmax, ymin, ymax]``.
+
+ >>> axis('off')
+
+ turns off the axis lines and labels.
+
+ >>> axis('equal')
+
+ changes limits of x or y axis so that equal increments of x and y have the
+ same length; a circle is circular.
+
+ >>> axis('scaled')
+
+ achieves the same result by changing the dimensions of the plot box instead
+ of the axis data limits.
+
+ >>> axis('tight')
+
+ changes x and y axis limits such that all data is shown. If all data is
+ already shown, it will move it to the center of the figure without
+ modifying (xmax-xmin) or (ymax-ymin). Note this is slightly different than
+ in matlab.
+
+ >>> axis('image')
+
+ is 'scaled' with the axis limits equal to the data limits.
+
+ >>> axis('auto')
+
+ and
+
+ >>> axis('normal')
+
+ are deprecated. They restore default behavior; axis limits are
automatically
+ scaled to make the data fit comfortably within the plot box.
+
if ``len(*v)==0``, you can pass in xmin, xmax, ymin, ymax as kwargs
selectively to alter just those limits w/o changing the others.
See help(xlim) and help(ylim) for more information
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