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
(3) |
2
(3) |
3
|
4
(2) |
5
(9) |
6
(4) |
7
(9) |
8
(7) |
9
(2) |
10
(3) |
11
(2) |
12
|
13
(2) |
14
(10) |
15
(24) |
16
(17) |
17
(21) |
18
(3) |
19
(23) |
20
(6) |
21
(4) |
22
(14) |
23
(11) |
24
(15) |
25
(6) |
26
(1) |
27
(4) |
28
(3) |
29
(9) |
30
(6) |
31
(2) |
|
From: <jo...@us...> - 2008-10-23 16:38:15
|
Revision: 6310 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6310&view=rev Author: jouni Date: 2008-10-23 16:38:04 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Fixed exception in dviread that happened with Minion Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/lib/matplotlib/dviread.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2008-10-23 16:10:59 UTC (rev 6309) +++ trunk/matplotlib/CHANGELOG 2008-10-23 16:38:04 UTC (rev 6310) @@ -1,3 +1,5 @@ +2008-10-23 Fixed exception in dviread that happened with Minion - JKS + 2008-10-21 set_xlim, ylim now return a copy of the viewlim array to avoid modify inplace surprises Modified: trunk/matplotlib/lib/matplotlib/dviread.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dviread.py 2008-10-23 16:10:59 UTC (rev 6309) +++ trunk/matplotlib/lib/matplotlib/dviread.py 2008-10-23 16:38:04 UTC (rev 6310) @@ -394,8 +394,12 @@ self._scale, self._tfm, self.texname, self._vf = \ scale, tfm, texname, vf self.size = scale * (72.0 / (72.27 * 2**16)) + try: + nchars = max(tfm.width.iterkeys()) + except ValueError: + nchars = 0 self.widths = [ (1000*tfm.width.get(char, 0)) >> 20 - for char in range(0, max(tfm.width)) ] + for char in range(nchars) ] def __eq__(self, other): return self.__class__ == other.__class__ and \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-23 16:11:09
|
Revision: 6309 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6309&view=rev Author: jdh2358 Date: 2008-10-23 16:10:59 +0000 (Thu, 23 Oct 2008) Log Message: ----------- fixed pyplot tutorial error Modified Paths: -------------- trunk/matplotlib/doc/_templates/gallery.html trunk/matplotlib/doc/devel/documenting_mpl.rst trunk/matplotlib/doc/faq/howto_faq.rst trunk/matplotlib/doc/users/pyplot_tutorial.rst Modified: trunk/matplotlib/doc/_templates/gallery.html =================================================================== --- trunk/matplotlib/doc/_templates/gallery.html 2008-10-23 15:46:27 UTC (rev 6308) +++ trunk/matplotlib/doc/_templates/gallery.html 2008-10-23 16:10:59 UTC (rev 6309) @@ -5,7 +5,7 @@ {% block body %} <h3>Click on any image to see full size image and source code</h3> -<br> +<br/> <a href="examples/api/barchart_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/barchart_demo.png" border="0" alt="barchart_demo"/></a> Modified: trunk/matplotlib/doc/devel/documenting_mpl.rst =================================================================== --- trunk/matplotlib/doc/devel/documenting_mpl.rst 2008-10-23 15:46:27 UTC (rev 6308) +++ trunk/matplotlib/doc/devel/documenting_mpl.rst 2008-10-23 16:10:59 UTC (rev 6309) @@ -8,9 +8,8 @@ =============== The documentation for matplotlib is generated from ReStructured Text -using the Sphinx_ documentation generation tool. Sphinx-0.4 or later -is required. Currently this means we need to install from the svn -repository by doing:: +using the Sphinx_ documentation generation tool. Sphinx-0.5 or later +is required. Most developers work from the sphinx subversion repository because it is a rapidly evolving project:: svn co http://svn.python.org/projects/doctools/trunk sphinx cd sphinx Modified: trunk/matplotlib/doc/faq/howto_faq.rst =================================================================== --- trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-23 15:46:27 UTC (rev 6308) +++ trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-23 16:10:59 UTC (rev 6309) @@ -332,14 +332,13 @@ which is part of the `mplayer <http://www.mplayerhq.hu>`_ suite for this:: - #fps (frames per second) controls the play speed mencoder 'mf://*.png' -mf type=png:fps=10 -ovc \\ lavc -lavcopts vcodec=wmv2 -oac copy -o animation.avi The swiss army knife of image tools, ImageMagick's `convert <http://www.imagemagick.org/script/convert.php>`_ works for this as -well.<p> +well. Here is a simple example script that saves some PNGs, makes them into a movie, and then cleans up:: @@ -617,7 +616,15 @@ import sys fig.savefig(sys.stdout) +Here is an example using the Python Imaging Library PIL. First the figure is saved to a StringIO objectm which is then fed to PIL for further processing:: + import StringIO, Image + imgdata = StringIO.StringIO() + fig.savefig(imgdata, format='png') + imgdata.seek(0) # rewind the data + im = Image.open(imgdata) + + matplotlib with apache ------------------------------------ Modified: trunk/matplotlib/doc/users/pyplot_tutorial.rst =================================================================== --- trunk/matplotlib/doc/users/pyplot_tutorial.rst 2008-10-23 15:46:27 UTC (rev 6308) +++ trunk/matplotlib/doc/users/pyplot_tutorial.rst 2008-10-23 16:10:59 UTC (rev 6309) @@ -15,13 +15,13 @@ .. plot:: pyplots/pyplot_simple.py :include-source: -You may be wondering why the x-axis ranges from 0-3 and the y-axis -from 1-4. If you provide a single list or array to the +You may be wondering why the x-axis ranges from 0-2 and the y-axis +from 1-3. If you provide a single list or array to the :func:`~matplotlib.pyplot.plot` command, matplotlib assumes it a sequence of y values, and automatically generates the x values for you. Since python ranges start with 0, the default x vector has the same length as y but starts with 0. Hence the x data are -``[0,1,2,3]``. +``[0,1,2]``. :func:`~matplotlib.pyplot.plot` is a versatile command, and will take an arbitrary number of arguments. For example, to plot x versus y, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ry...@us...> - 2008-10-23 15:46:35
|
Revision: 6308 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6308&view=rev Author: ryanmay Date: 2008-10-23 15:46:27 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Add barbs to list of plotting commands. Also make the capitalization (or lack thereof) of the table descriptions consistent. Modified Paths: -------------- trunk/matplotlib/doc/_templates/index.html Modified: trunk/matplotlib/doc/_templates/index.html =================================================================== --- trunk/matplotlib/doc/_templates/index.html 2008-10-23 15:42:25 UTC (rev 6307) +++ trunk/matplotlib/doc/_templates/index.html 2008-10-23 15:46:27 UTC (rev 6308) @@ -86,7 +86,7 @@ </th> <td align="left"> - Create a new axes + create a new axes </td> </tr> @@ -141,12 +141,23 @@ </th> <td align="left"> - Set or return the current axis limits + set or return the current axis limits </td> </tr> <tr> <th align="left"> + <a href="api/pyplot_api.html#matplotlib.pyplot.barbs">barbs</a> + + </th> + + <td align="left"> + a (wind) barb plot + </td> + + </tr> + <tr> + <th align="left"> <a href="api/pyplot_api.html#matplotlib.pyplot.bar">bar</a> </th> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ry...@us...> - 2008-10-23 15:42:45
|
Revision: 6307 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6307&view=rev Author: ryanmay Date: 2008-10-23 15:42:25 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Tweak barbs docstring to point to the appropriate example script. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/axes.py Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2008-10-23 15:29:50 UTC (rev 6306) +++ trunk/matplotlib/lib/matplotlib/axes.py 2008-10-23 15:42:25 UTC (rev 6307) @@ -5356,13 +5356,19 @@ quiver.__doc__ = mquiver.Quiver.quiver_doc def barbs(self, *args, **kw): + """ + %s + **Example:** + + .. plot:: mpl_examples/pylab_examples/barb_demo.py + """ if not self._hold: self.cla() b = mquiver.Barbs(self, *args, **kw) self.add_collection(b) self.update_datalim(b.get_offsets()) self.autoscale_view() return b - barbs.__doc__ = mquiver.Barbs.barbs_doc + barbs.__doc__ = cbook.dedent(barbs.__doc__) % mquiver.Barbs.barbs_doc def fill(self, *args, **kwargs): """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-23 15:30:08
|
Revision: 6306 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6306&view=rev Author: mdboom Date: 2008-10-23 15:29:50 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Fix doc markup. Modified Paths: -------------- trunk/matplotlib/doc/faq/howto_faq.rst trunk/matplotlib/lib/matplotlib/ticker.py Modified: trunk/matplotlib/doc/faq/howto_faq.rst =================================================================== --- trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-23 13:30:15 UTC (rev 6305) +++ trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-23 15:29:50 UTC (rev 6306) @@ -542,7 +542,7 @@ Write a tutorial on the signal analysis plotting functions like :func:`~matplotlib.pyplot.xcorr`, :func:`~matplotlib.pyplot.psd` and :func:`~matplotlib.pyplot.specgram`. Do you use matplotlib with -`django <http://www.djangoproject.com>`_ or other popular web +`django <http://www.djangoproject.com/>`_ or other popular web application servers? Write a FAQ or tutorial and we'll find a place for it in the :ref:`users-guide-index`. Bundle matplotlib in a `py2exe <http://www.py2exe.org/>`_ app? ... I think you get the idea. Modified: trunk/matplotlib/lib/matplotlib/ticker.py =================================================================== --- trunk/matplotlib/lib/matplotlib/ticker.py 2008-10-23 13:30:15 UTC (rev 6305) +++ trunk/matplotlib/lib/matplotlib/ticker.py 2008-10-23 15:29:50 UTC (rev 6306) @@ -77,22 +77,22 @@ formatter operates on a single tick value and returns a string to the axis. -:clss:`NullFormatter` +:class:`NullFormatter` no labels on the ticks -:clss:`FixedFormatter` +:class:`FixedFormatter` set the strings manually for the labels -:clss:`FuncFormatter` +:class:`FuncFormatter` user defined function sets the labels -:clss:`FormatStrFormatter` +:class:`FormatStrFormatter` use a sprintf format string -:clss:`ScalarFormatter` +:class:`ScalarFormatter` default formatter for scalars; autopick the fmt string -:clss:`LogFormatter` +:class:`LogFormatter` formatter for log axes @@ -109,7 +109,7 @@ ax.yaxis.set_minor_formatter( yminorFormatter ) See :ref:`pylab_examples-major_minor_demo1` for an example of setting -major an minor ticks. See the :module:`matplotlib.dates` module for +major an minor ticks. See the :mod:`matplotlib.dates` module for more information and examples of using date locators and formatters. """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-23 13:30:25
|
Revision: 6305 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6305&view=rev Author: mdboom Date: 2008-10-23 13:30:15 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Fix w3c compliance. (Xavier Gnata) Modified Paths: -------------- trunk/matplotlib/doc/_templates/gen_gallery.py Modified: trunk/matplotlib/doc/_templates/gen_gallery.py =================================================================== --- trunk/matplotlib/doc/_templates/gen_gallery.py 2008-10-23 12:57:15 UTC (rev 6304) +++ trunk/matplotlib/doc/_templates/gen_gallery.py 2008-10-23 13:30:15 UTC (rev 6305) @@ -7,7 +7,7 @@ {%% block body %%} <h3>Click on any image to see full size image and source code</h3> -<br> +<br/> %s {%% endblock %%} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-23 12:58:09
|
Revision: 6304 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6304&view=rev Author: mdboom Date: 2008-10-23 12:57:15 +0000 (Thu, 23 Oct 2008) Log Message: ----------- Fix w3c compliance. (Xavier Gnata) Modified Paths: -------------- trunk/matplotlib/doc/_templates/index.html trunk/matplotlib/doc/_templates/indexsidebar.html Modified: trunk/matplotlib/doc/_templates/index.html =================================================================== --- trunk/matplotlib/doc/_templates/index.html 2008-10-22 23:50:06 UTC (rev 6303) +++ trunk/matplotlib/doc/_templates/index.html 2008-10-23 12:57:15 UTC (rev 6304) @@ -24,7 +24,7 @@ alt="screenshots"/></a></p> - For example, to generate 10,000 gaussian random numbers and make a + <p>For example, to generate 10,000 gaussian random numbers and make a histogram plot binning the data into 100 bins, you simply need to type</p> @@ -38,8 +38,8 @@ or via a handle graphics interface familiar to Matlab® users. The pylab mode provides all of the <a href="api/pyplot_api.html">pyplot</a> plotting functions listed below, as well as non-plotting functions from - <a href=http://scipy.org/Numpy_Example_List_With_Doc>numpy</a> and -<a href="api/mlab_api.html">matplotlib.mlab</a> </p> + <a href="http://scipy.org/Numpy_Example_List_With_Doc">numpy</a> and + <a href="api/mlab_api.html">matplotlib.mlab</a>.</p> <h3>Plotting commands</h3> <br/> Modified: trunk/matplotlib/doc/_templates/indexsidebar.html =================================================================== --- trunk/matplotlib/doc/_templates/indexsidebar.html 2008-10-22 23:50:06 UTC (rev 6303) +++ trunk/matplotlib/doc/_templates/indexsidebar.html 2008-10-23 12:57:15 UTC (rev 6304) @@ -11,8 +11,8 @@ and mapping toolkit <a href="http://matplotlib.sf.net/basemap/doc/html">basemap</a>.</p> -<p>Please <a href=https://sourceforge.net/my/donations.php>donate</a> -to support matplotlib development</p> +<p>Please <a href="https://sourceforge.net/my/donations.php">donate</a> +to support matplotlib development.</p> <h3>Need help?</h3> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fer...@us...> - 2008-10-22 23:50:10
|
Revision: 6303 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6303&view=rev Author: fer_perez Date: 2008-10-22 23:50:06 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Add a few *incomplete* notes about ctypes Modified Paths: -------------- trunk/py4science/workbook/wrapping.tex Modified: trunk/py4science/workbook/wrapping.tex =================================================================== --- trunk/py4science/workbook/wrapping.tex 2008-10-22 20:03:12 UTC (rev 6302) +++ trunk/py4science/workbook/wrapping.tex 2008-10-22 23:50:06 UTC (rev 6303) @@ -16,6 +16,24 @@ \lstinputlisting{examples/wrap_weave.py} +\section{ctypes } + +Some quick notes about ctypes, to be finished later. + + +\begin{itemize} + +\item \textbf{Classes}: \texttt{\_as\_parameter\_} attribute, one of: {[}int, + str, unicode]. A property can be used to provide custom access. This allows + any class to customize how it isseen if one of its instances is used as a + parameter in a ctypes call. + +\item \textbf{Functions}: when the underlying ctypes-exposed functions is +seen on the Python side, set its \texttt{.argtypes} attribute. + +\end{itemize} + + \section{swig } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ef...@us...> - 2008-10-22 20:22:18
|
Revision: 6298 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6298&view=rev Author: efiring Date: 2008-10-22 19:28:14 +0000 (Wed, 22 Oct 2008) Log Message: ----------- update backend_driver for new location of two_scales.py Modified Paths: -------------- trunk/matplotlib/examples/api/two_scales.py trunk/matplotlib/examples/tests/backend_driver.py Modified: trunk/matplotlib/examples/api/two_scales.py =================================================================== --- trunk/matplotlib/examples/api/two_scales.py 2008-10-22 18:45:10 UTC (rev 6297) +++ trunk/matplotlib/examples/api/two_scales.py 2008-10-22 19:28:14 UTC (rev 6298) @@ -11,12 +11,14 @@ separate matplotlib.ticker formatters and locators as desired since the two axes are independent. -This is acheived in the following example by calling pylab's twinx() -function, which performs this work. See the source of twinx() in -pylab.py for an example of how to do it for different x scales. (Hint: +This is achieved in the following example by calling the Axes.twinx() +method, which performs this work. See the source of twinx() in +axes.py for an example of how to do it for different x scales. (Hint: use the xaxis instance and call tick_bottom and tick_top in place of tick_left and tick_right.) +The twinx and twiny methods are also exposed as pyplot functions. + """ import numpy as np Modified: trunk/matplotlib/examples/tests/backend_driver.py =================================================================== --- trunk/matplotlib/examples/tests/backend_driver.py 2008-10-22 18:45:10 UTC (rev 6297) +++ trunk/matplotlib/examples/tests/backend_driver.py 2008-10-22 19:28:14 UTC (rev 6298) @@ -117,7 +117,7 @@ 'text_rotation.py', 'text_themes.py', # 'tex_demo.py', - 'two_scales.py', +# 'two_scales.py', 'unicode_demo.py', 'vline_demo.py', 'xcorr_demo.py', @@ -132,7 +132,8 @@ 'color_cycle.py', 'donut_demo.py', 'path_patch_demo.py', - 'quad_bezier.py' + 'quad_bezier.py', + 'two_scales.py' ] units_dir = os.path.join('..', 'units') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-22 20:03:28
|
Revision: 6302 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6302&view=rev Author: mdboom Date: 2008-10-22 20:03:12 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Add clip path support on images. Add a new example and update the dolphin fest. Modified Paths: -------------- trunk/matplotlib/examples/pylab_examples/dolphin.py trunk/matplotlib/src/_backend_agg.cpp Added Paths: ----------- trunk/matplotlib/examples/pylab_examples/image_clip_path.py Modified: trunk/matplotlib/examples/pylab_examples/dolphin.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/dolphin.py 2008-10-22 19:43:40 UTC (rev 6301) +++ trunk/matplotlib/examples/pylab_examples/dolphin.py 2008-10-22 20:03:12 UTC (rev 6302) @@ -1,3 +1,4 @@ +import matplotlib.cm as cm import matplotlib.pyplot as plt from matplotlib.patches import Circle, PathPatch from matplotlib.path import Path @@ -4,6 +5,7 @@ from matplotlib.transforms import Affine2D import numpy as np + r = np.random.rand(50) t = np.random.rand(50) * np.pi * 2.0 x = r * np.cos(t) @@ -11,10 +13,16 @@ fig = plt.figure(figsize=(6,6)) ax = plt.subplot(111) -circle = Circle((0, 0), 1, facecolor=(0,0,0.8), +circle = Circle((0, 0), 1, facecolor='none', edgecolor=(0,0.8,0.8), linewidth=3, alpha=0.5) ax.add_patch(circle) +im = plt.imshow(np.random.random((100, 100)), + origin='lower', cmap=cm.winter, + interpolation='spline36', + extent=([-1, 1, -1, 1]), zorder=1000) +im.set_clip_path(circle) + plt.plot(x, y, 'o', color=(0.9, 0.9, 1.0), alpha=0.8) # Dolphin from OpenClipart library by Andy Fitzsimon Added: trunk/matplotlib/examples/pylab_examples/image_clip_path.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/image_clip_path.py (rev 0) +++ trunk/matplotlib/examples/pylab_examples/image_clip_path.py 2008-10-22 20:03:12 UTC (rev 6302) @@ -0,0 +1,26 @@ +#!/usr/bin/env python +import numpy as np +import matplotlib.cm as cm +import matplotlib.mlab as mlab +import matplotlib.pyplot as plt +from matplotlib.path import Path +from matplotlib.patches import PathPatch + +delta = 0.025 +x = y = np.arange(-3.0, 3.0, delta) +X, Y = np.meshgrid(x, y) +Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) +Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1) +Z = Z2-Z1 # difference of Gaussians + +path = Path([[0, 1], [1, 0], [0, -1], [-1, 0], [0, 1]]) +patch = PathPatch(path, facecolor='none') +plt.gca().add_patch(patch) + +im = plt.imshow(Z, interpolation='bilinear', cmap=cm.gray, + origin='lower', extent=[-3,3,-3,3], + clip_path=patch, clip_on=True) +im.set_clip_path(patch) + +plt.show() + Property changes on: trunk/matplotlib/examples/pylab_examples/image_clip_path.py ___________________________________________________________________ Added: svn:executable + * Modified: trunk/matplotlib/src/_backend_agg.cpp =================================================================== --- trunk/matplotlib/src/_backend_agg.cpp 2008-10-22 19:43:40 UTC (rev 6301) +++ trunk/matplotlib/src/_backend_agg.cpp 2008-10-22 20:03:12 UTC (rev 6302) @@ -788,21 +788,59 @@ Py::Object box_obj = args[3]; Py::Object clippath; agg::trans_affine clippath_trans; + bool has_clippath = false; + + theRasterizer->reset_clipping(); + rendererBase->reset_clipping(true); if (args.size() == 6) { clippath = args[4]; clippath_trans = py_to_agg_transformation_matrix(args[5], false); + has_clippath = render_clippath(clippath, clippath_trans); } - theRasterizer->reset_clipping(); - rendererBase->reset_clipping(true); - set_clipbox(box_obj, rendererBase); - Py::Tuple empty; + image->flipud_out(empty); pixfmt pixf(*(image->rbufOut)); - image->flipud_out(empty); - rendererBase->blend_from(pixf, 0, (int)x, (int)(height-(y+image->rowsOut))); + if (has_clippath) { + agg::trans_affine mtx; + mtx *= agg::trans_affine_translation((int)x, (int)(height-(y+image->rowsOut))); + agg::path_storage rect; + rect.move_to(0, 0); + rect.line_to(image->colsOut, 0); + rect.line_to(image->colsOut, image->rowsOut); + rect.line_to(0, image->rowsOut); + rect.line_to(0, 0); + agg::conv_transform<agg::path_storage> rect2(rect, mtx); + + agg::trans_affine inv_mtx(mtx); + inv_mtx.invert(); + + typedef agg::span_allocator<agg::rgba8> color_span_alloc_type; + typedef agg::pixfmt_amask_adaptor<pixfmt, alpha_mask_type> pixfmt_amask_type; + typedef agg::renderer_base<pixfmt_amask_type> amask_ren_type; + typedef agg::image_accessor_clip<agg::pixfmt_rgba32> image_accessor_type; + typedef agg::span_interpolator_linear<> interpolator_type; + typedef agg::span_image_filter_rgba_nn<image_accessor_type, interpolator_type> image_span_gen_type; + typedef agg::renderer_scanline_aa_solid<amask_ren_type> amask_aa_renderer_type; + typedef agg::renderer_scanline_aa<amask_ren_type, color_span_alloc_type, image_span_gen_type> renderer_type; + + color_span_alloc_type sa; + image_accessor_type ia(pixf, agg::rgba8(0, 0, 0, 0)); + interpolator_type interpolator(inv_mtx); + image_span_gen_type image_span_generator(ia, interpolator); + pixfmt_amask_type pfa(*pixFmt, *alphaMask); + amask_ren_type r(pfa); + renderer_type ri(r, sa, image_span_generator); + + theRasterizer->add_path(rect2); + agg::render_scanlines(*theRasterizer, *slineP8, ri); + } else { + set_clipbox(box_obj, rendererBase); + rendererBase->blend_from(pixf, 0, (int)x, (int)(height-(y+image->rowsOut))); + } + image->flipud_out(empty); return Py::Object(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ef...@us...> - 2008-10-22 19:43:45
|
Revision: 6301 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6301&view=rev Author: efiring Date: 2008-10-22 19:43:40 +0000 (Wed, 22 Oct 2008) Log Message: ----------- When initializing a shared axes, respect limits already set on master. This is a tentative first step; more will be required. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/axes.py Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2008-10-22 19:38:46 UTC (rev 6300) +++ trunk/matplotlib/lib/matplotlib/axes.py 2008-10-22 19:43:40 UTC (rev 6301) @@ -501,7 +501,6 @@ self.set_aspect('auto') self.set_adjustable('box') self.set_anchor('C') - self._sharex = sharex self._sharey = sharey if sharex is not None: @@ -523,7 +522,6 @@ self._hold = rcParams['axes.hold'] self._connected = {} # a dict from events to (id, func) self.cla() - # funcs used to format x and y - fall back on major formatters self.fmt_xdata = None self.fmt_ydata = None @@ -798,6 +796,7 @@ def cla(self): 'Clear the current axes' + # Note: this is called by Axes.__init__() self.xaxis.cla() self.yaxis.cla() @@ -805,12 +804,28 @@ self.callbacks = cbook.CallbackRegistry(('xlim_changed', 'ylim_changed')) if self._sharex is not None: + # major and minor are class instances with + # locator and formatter attributes self.xaxis.major = self._sharex.xaxis.major self.xaxis.minor = self._sharex.xaxis.minor + x0, x1 = self._sharex.get_xlim() + self.set_xlim(x0, x1, emit=False) + self.xaxis.set_scale(self._sharex.xaxis.get_scale()) + else: + self.xaxis.set_scale('linear') + if self._sharey is not None: self.yaxis.major = self._sharey.yaxis.major self.yaxis.minor = self._sharey.yaxis.minor + y0, y1 = self._sharex.get_ylim() + self.set_ylim(y0, y1, emit=False) + self.yaxis.set_scale(self._sharey.yaxis.get_scale()) + else: + self.yaxis.set_scale('linear') + self._autoscaleon = True + self._update_transScale() # needed? + self._get_lines = _process_plot_var_args(self) self._get_patches_for_fill = _process_plot_var_args(self, 'fill') @@ -824,10 +839,6 @@ self.legend_ = None self.collections = [] # collection.Collection instances - self._autoscaleon = True - self.set_xscale('linear') - self.set_yscale('linear') - self.grid(self._gridOn) props = font_manager.FontProperties(size=rcParams['axes.titlesize']) @@ -1769,10 +1780,9 @@ def get_xlim(self): """ - Get the x-axis range as a length 2 attay [*xmin*, *xmax*] + Get the x-axis range [*xmin*, *xmax*] """ - # # copy of the viewlim array to avoid modify inplace surprises - return self.viewLim.intervalx.copy() + return tuple(self.viewLim.intervalx) def set_xlim(self, xmin=None, xmax=None, emit=True, **kwargs): """ @@ -1782,7 +1792,7 @@ Set the limits for the xaxis - Returns the current xlimits as a length 2 tuple: (*xmin*, *xmax*) + Returns the current xlimits as a length 2 tuple: [*xmin*, *xmax*] Examples:: @@ -1943,10 +1953,9 @@ def get_ylim(self): """ - Get the y-axis range as a length two array [*ymin*, *ymax*] + Get the y-axis range [*ymin*, *ymax*] """ - # copy of the viewlim array to avoid modify inplace surprises - return self.viewLim.intervaly.copy() + return tuple(self.viewLim.intervaly) def set_ylim(self, ymin=None, ymax=None, emit=True, **kwargs): """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ef...@us...> - 2008-10-22 19:38:59
|
Revision: 6300 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6300&view=rev Author: efiring Date: 2008-10-22 19:38:46 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Make pyplot.twinx() and twiny() draw after creating the axes Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/pyplot.py Modified: trunk/matplotlib/lib/matplotlib/pyplot.py =================================================================== --- trunk/matplotlib/lib/matplotlib/pyplot.py 2008-10-22 19:37:46 UTC (rev 6299) +++ trunk/matplotlib/lib/matplotlib/pyplot.py 2008-10-22 19:38:46 UTC (rev 6300) @@ -631,12 +631,13 @@ the right, and the *ax2* instance is returned. .. seealso:: - :file:`examples/pylab_examples/two_scales.py` + :file:`examples/api_examples/two_scales.py` """ if ax is None: ax=gca() + ax1 = ax.twinx() draw_if_interactive() - return ax.twinx() + return ax1 def twiny(ax=None): @@ -647,8 +648,9 @@ """ if ax is None: ax=gca() + ax1 = ax.twiny() draw_if_interactive() - return ax.twiny() + return ax1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ef...@us...> - 2008-10-22 19:37:58
|
Revision: 6299 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6299&view=rev Author: efiring Date: 2008-10-22 19:37:46 +0000 (Wed, 22 Oct 2008) Log Message: ----------- whitespace deletion in cbook.py Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/cbook.py Modified: trunk/matplotlib/lib/matplotlib/cbook.py =================================================================== --- trunk/matplotlib/lib/matplotlib/cbook.py 2008-10-22 19:28:14 UTC (rev 6298) +++ trunk/matplotlib/lib/matplotlib/cbook.py 2008-10-22 19:37:46 UTC (rev 6299) @@ -477,9 +477,9 @@ make directory *newdir* recursively, and set *mode*. Equivalent to :: > mkdir -p NEWDIR - > chmod MODE NEWDIR + > chmod MODE NEWDIR """ - try: + try: if not os.path.exists(newdir): parts = os.path.split(newdir) for i in range(1, len(parts)+1): @@ -1325,7 +1325,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('less_simple_linear_interpolation has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.less_simple_linear_interpolation( x, y, xi, extrap=extrap ) @@ -1335,7 +1335,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('isvector has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.isvector( x, y, xi, extrap=extrap ) @@ -1345,7 +1345,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('vector_lengths has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.vector_lengths( X, P=2., axis=axis ) @@ -1355,7 +1355,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('distances_along_curve has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.distances_along_curve( X ) @@ -1365,7 +1365,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('path_length has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.path_length(X) @@ -1375,7 +1375,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('is_closed_polygon has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.is_closed_polygon(X) @@ -1385,7 +1385,7 @@ This function has been moved to matplotlib.mlab -- please import it from there """ - # deprecated from cbook in 0.98.4 + # deprecated from cbook in 0.98.4 warnings.warn('quad2cubic has been moved to matplotlib.mlab -- please import it from there', DeprecationWarning) import matplotlib.mlab as mlab return mlab.quad2cubic(q0x, q0y, q1x, q1y, q2x, q2y) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-22 18:45:31
|
Revision: 6297 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6297&view=rev Author: jdh2358 Date: 2008-10-22 18:45:10 +0000 (Wed, 22 Oct 2008) Log Message: ----------- added ticker api docs Modified Paths: -------------- trunk/matplotlib/API_CHANGES trunk/matplotlib/CHANGELOG trunk/matplotlib/doc/api/index.rst trunk/matplotlib/lib/matplotlib/axes.py trunk/matplotlib/lib/matplotlib/ticker.py Added Paths: ----------- trunk/matplotlib/doc/api/ticker_api.rst trunk/matplotlib/doc/utils/ trunk/matplotlib/doc/utils/pylab_names.py Modified: trunk/matplotlib/API_CHANGES =================================================================== --- trunk/matplotlib/API_CHANGES 2008-10-22 17:51:36 UTC (rev 6296) +++ trunk/matplotlib/API_CHANGES 2008-10-22 18:45:10 UTC (rev 6297) @@ -1,8 +1,8 @@ Changes for 0.98.x ================== -* Restored 0.91 behavior of get_xlim/ylim returning a tuple - rather than array - JDH +* set_xlim, ylim now return a copy of the viewlim array to + avoid modify inplace surprises * AFM.get_fullname() and get_familyname() no longer raise an exception if the AFM file does not specify these optional attributes, Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2008-10-22 17:51:36 UTC (rev 6296) +++ trunk/matplotlib/CHANGELOG 2008-10-22 18:45:10 UTC (rev 6297) @@ -1,5 +1,5 @@ -2008-10-21 Restored 0.91 behavior of get_xlim/ylim returning a tuple - rather than array - JDH +2008-10-21 set_xlim, ylim now return a copy of the viewlim array to + avoid modify inplace surprises 2008-10-20 Added image thumbnail generating function matplotlib.image.thumbnail. See Modified: trunk/matplotlib/doc/api/index.rst =================================================================== --- trunk/matplotlib/doc/api/index.rst 2008-10-22 17:51:36 UTC (rev 6296) +++ trunk/matplotlib/doc/api/index.rst 2008-10-22 18:45:10 UTC (rev 6297) @@ -26,4 +26,5 @@ mlab_api.rst path_api.rst pyplot_api.rst + ticker_api.rst index_backend_api.rst Added: trunk/matplotlib/doc/api/ticker_api.rst =================================================================== --- trunk/matplotlib/doc/api/ticker_api.rst (rev 0) +++ trunk/matplotlib/doc/api/ticker_api.rst 2008-10-22 18:45:10 UTC (rev 6297) @@ -0,0 +1,12 @@ +******************* +matplotlib ticker +******************* + + +:mod:`matplotlib.ticker` +========================== + +.. automodule:: matplotlib.ticker + :members: + :undoc-members: + :show-inheritance: Added: trunk/matplotlib/doc/utils/pylab_names.py =================================================================== --- trunk/matplotlib/doc/utils/pylab_names.py (rev 0) +++ trunk/matplotlib/doc/utils/pylab_names.py 2008-10-22 18:45:10 UTC (rev 6297) @@ -0,0 +1,60 @@ +""" +autogenerate some tables for pylab namespace +""" +from pylab import * +d = locals() +keys = d.keys() +keys.sort() + +modd = dict() +for k in keys: + o = d[k] + if not callable(o): + continue + doc = getattr(o, '__doc__', None) + if doc is not None: + doc = ' - '.join([line for line in doc.split('\n') if line.strip()][:2]) + + mod = getattr(o, '__module__', None) + if mod is None: + mod = 'unknown' + + if mod is not None: + if mod.startswith('matplotlib'): + if k[0].isupper(): + k = ':class:`~%s.%s`'%(mod, k) + else: + k = ':func:`~%s.%s`'%(mod, k) + mod = ':mod:`%s`'%mod + elif mod.startswith('numpy'): + #k = '`%s <%s>`_'%(k, 'http://scipy.org/Numpy_Example_List_With_Doc#%s'%k) + k = '`%s <%s>`_'%(k, 'http://sd-2116.dedibox.fr/pydocweb/doc/%s.%s'%(mod, k)) + + + if doc is None: doc = 'TODO' + + mod, k, doc = mod.strip(), k.strip(), doc.strip()[:80] + modd.setdefault(mod, []).append((k, doc)) + +mods = modd.keys() +mods.sort() +for mod in mods: + border = '*'*len(mod) + print mod + print border + + print + funcs, docs = zip(*modd[mod]) + maxfunc = max([len(f) for f in funcs]) + maxdoc = max(40, max([len(d) for d in docs]) ) + border = ' '.join(['='*maxfunc, '='*maxdoc]) + print border + print ' '.join(['symbol'.ljust(maxfunc), 'description'.ljust(maxdoc)]) + print border + for func, doc in modd[mod]: + row = ' '.join([func.ljust(maxfunc), doc.ljust(maxfunc)]) + print row + + print border + print + #break Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2008-10-22 17:51:36 UTC (rev 6296) +++ trunk/matplotlib/lib/matplotlib/axes.py 2008-10-22 18:45:10 UTC (rev 6297) @@ -1769,9 +1769,10 @@ def get_xlim(self): """ - Get the x-axis range [*xmin*, *xmax*] + Get the x-axis range as a length 2 attay [*xmin*, *xmax*] """ - return tuple(self.viewLim.intervalx) + # # copy of the viewlim array to avoid modify inplace surprises + return self.viewLim.intervalx.copy() def set_xlim(self, xmin=None, xmax=None, emit=True, **kwargs): """ @@ -1781,7 +1782,7 @@ Set the limits for the xaxis - Returns the current xlimits as a length 2 tuple: [*xmin*, *xmax*] + Returns the current xlimits as a length 2 tuple: (*xmin*, *xmax*) Examples:: @@ -1942,9 +1943,10 @@ def get_ylim(self): """ - Get the y-axis range [*ymin*, *ymax*] + Get the y-axis range as a length two array [*ymin*, *ymax*] """ - return tuple(self.viewLim.intervaly) + # copy of the viewlim array to avoid modify inplace surprises + return self.viewLim.intervaly.copy() def set_ylim(self, ymin=None, ymax=None, emit=True, **kwargs): """ Modified: trunk/matplotlib/lib/matplotlib/ticker.py =================================================================== --- trunk/matplotlib/lib/matplotlib/ticker.py 2008-10-22 17:51:36 UTC (rev 6296) +++ trunk/matplotlib/lib/matplotlib/ticker.py 2008-10-22 18:45:10 UTC (rev 6297) @@ -21,28 +21,35 @@ The Locator subclasses defined here are - * NullLocator - No ticks +:class:`NullLocator` + No ticks - * FixedLocator - Tick locations are fixed +:class:`FixedLocator` + Tick locations are fixed - * IndexLocator - locator for index plots (eg. where x = range(len(y))) +:class:`IndexLocator` + locator for index plots (eg. where x = range(len(y))) - * LinearLocator - evenly spaced ticks from min to max +:class:`LinearLocator` + evenly spaced ticks from min to max - * LogLocator - logarithmically ticks from min to max +:class:`LogLocator` + logarithmically ticks from min to max - * MultipleLocator - ticks and range are a multiple of base; - either integer or float +:class:`MultipleLocator` + ticks and range are a multiple of base; + either integer or float +:class:`OldAutoLocator` + choose a MultipleLocator and dyamically reassign it for + intelligent ticking during navigation - * OldAutoLocator - choose a MultipleLocator and dyamically reassign - it for intelligent ticking during navigation +:class:`MaxNLocator` + finds up to a max number of ticks at nice locations - * MaxNLocator - finds up to a max number of ticks at nice - locations +:class:`AutoLocator` + :class:`MaxNLocator` with simple defaults. This is the default + tick locator for most plotting. - * AutoLocator - MaxNLocator with simple defaults. This is the - default tick locator for most plotting. - There are a number of locators specialized for date locations - see the dates module @@ -70,21 +77,27 @@ formatter operates on a single tick value and returns a string to the axis. - * NullFormatter - no labels on the ticks +:clss:`NullFormatter` + no labels on the ticks - * FixedFormatter - set the strings manually for the labels +:clss:`FixedFormatter` + set the strings manually for the labels - * FuncFormatter - user defined function sets the labels +:clss:`FuncFormatter` + user defined function sets the labels - * FormatStrFormatter - use a sprintf format string +:clss:`FormatStrFormatter` + use a sprintf format string - * ScalarFormatter - default formatter for scalars; autopick the fmt string +:clss:`ScalarFormatter` + default formatter for scalars; autopick the fmt string - * LogFormatter - formatter for log axes +:clss:`LogFormatter` + formatter for log axes You can derive your own formatter from the Formatter base class by -simply overriding the __call__ method. The formatter class has access +simply overriding the ``__call__`` method. The formatter class has access to the axis view and data limits. To control the major and minor tick label formats, use one of the @@ -95,7 +108,7 @@ ax.yaxis.set_major_formatter( ymajorFormatter ) ax.yaxis.set_minor_formatter( yminorFormatter ) -See :file:`examples/major_minor_demo1.py` for an example of setting +See :ref:`pylab_examples-major_minor_demo1` for an example of setting major an minor ticks. See the :module:`matplotlib.dates` module for more information and examples of using date locators and formatters. """ @@ -176,38 +189,38 @@ def fix_minus(self, s): """ some classes may want to replace a hyphen for minus with the - proper unicode symbol as described here - - http://sourceforge.net/tracker/index.php?func=detail&aid=1962574&group_id=80706&atid=560720. + proper unicode symbol as described `here + <http://sourceforge.net/tracker/index.php?func=detail&aid=1962574&group_id=80706&atid=560720>`_. The default is to do nothing - Note, if you use this method, eg in format_data or call, you - probably don't want to use it for format_data_short since the - toolbar uses this for interative coord reporting and I doubt - we can expect GUIs across platforms will handle the unicode - correctly. So for now the classes that override fix_minus - should have an explicit format_data_short method + Note, if you use this method, eg in :meth`format_data` or + call, you probably don't want to use it for + :meth:`format_data_short` since the toolbar uses this for + interative coord reporting and I doubt we can expect GUIs + across platforms will handle the unicode correctly. So for + now the classes that override :meth:`fix_minus` should have an + explicit :meth:`format_data_short` method """ return s class NullFormatter(Formatter): 'Always return the empty string' def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' return '' class FixedFormatter(Formatter): 'Return fixed strings for tick labels' def __init__(self, seq): """ - seq is a sequence of strings. For positions i<len(seq) return - seq[i] regardless of x. Otherwise return '' + seq is a sequence of strings. For positions ``i<len(seq)` return + *seq[i]* regardless of *x*. Otherwise return '' """ self.seq = seq self.offset_string = '' def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' if pos is None or pos>=len(self.seq): return '' else: return self.seq[pos] @@ -225,7 +238,7 @@ self.func = func def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' return self.func(x, pos) @@ -237,7 +250,7 @@ self.fmt = fmt def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' return self.fmt % x class OldScalarFormatter(Formatter): @@ -246,7 +259,7 @@ """ def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' xmin, xmax = self.axis.get_view_interval() d = abs(xmax - xmin) @@ -304,7 +317,7 @@ else: return s.replace('-', u'\u2212') def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' if len(self.locs)==0: return '' else: @@ -313,7 +326,7 @@ def set_scientific(self, b): '''True or False to turn scientific notation on or off - see also set_powerlimits() + see also :meth:`set_powerlimits` ''' self._scientific = bool(b) @@ -321,7 +334,7 @@ ''' Sets size thresholds for scientific notation. - e.g. xaxis.set_powerlimits((-3, 4)) sets the pre-2007 default in + e.g. ``xaxis.set_powerlimits((-3, 4))`` sets the pre-2007 default in which scientific notation is used for numbers less than 1e-3 or greater than 1e4. See also :meth:`set_scientific`. @@ -463,20 +476,20 @@ """ Format values for log axis; - if attribute decadeOnly is True, only the decades will be labelled. + if attribute *decadeOnly* is True, only the decades will be labelled. """ def __init__(self, base=10.0, labelOnlyBase = True): """ - base is used to locate the decade tick, - which will be the only one to be labeled if labelOnlyBase - is False + *base* is used to locate the decade tick, + which will be the only one to be labeled if *labelOnlyBase* + is ``False`` """ self._base = base+0.0 self.labelOnlyBase=labelOnlyBase self.decadeOnly = True def base(self,base): - 'change the base for labeling - warning: should always match the base used for LogLocator' + 'change the *base* for labeling - warning: should always match the base used for :class:`LogLocator`' self._base=base def label_minor(self,labelOnlyBase): @@ -485,7 +498,7 @@ def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' vmin, vmax = self.axis.get_view_interval() d = abs(vmax - vmin) b=self._base @@ -548,11 +561,11 @@ class LogFormatterExponent(LogFormatter): """ - Format values for log axis; using exponent = log_base(value) + Format values for log axis; using ``exponent = log_base(value)`` """ def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' vmin, vmax = self.axis.get_view_interval() @@ -580,11 +593,11 @@ class LogFormatterMathtext(LogFormatter): """ - Format values for log axis; using exponent = log_base(value) + Format values for log axis; using ``exponent = log_base(value)`` """ def __call__(self, x, pos=None): - 'Return the format for tick val x at position pos' + 'Return the format for tick val *x* at position *pos*' b = self._base # only label the decades if x == 0: @@ -619,7 +632,7 @@ """ Determine the tick locations; - Note, you should not use the same locator between different Axis + Note, you should not use the same locator between different :class:`~matplotlib.axis.Axis` because the locator stores references to the Axis data and view limits """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-22 17:51:45
|
Revision: 6296 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6296&view=rev Author: mdboom Date: 2008-10-22 17:51:36 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Fix text alignment in PDF backend. (At suggestion of Stan West). Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py Modified: trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-10-22 17:29:41 UTC (rev 6295) +++ trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-10-22 17:51:36 UTC (rev 6296) @@ -1268,14 +1268,15 @@ lastx, lasty = x, y output(Op.grestore) - def _setup_textpos(self, x, y, angle, oldx=0, oldy=0, oldangle=0): + def _setup_textpos(self, x, y, descent, angle, oldx=0, oldy=0, olddescent=0, oldangle=0): if angle == oldangle == 0: - self.file.output(x - oldx, y - oldy, Op.textpos) + self.file.output(x - oldx, (y + descent) - (oldy + olddescent), Op.textpos) else: angle = angle / 180.0 * pi self.file.output( cos(angle), sin(angle), -sin(angle), cos(angle), x, y, Op.textmatrix) + self.file.output(0, descent, Op.textpos) def draw_mathtext(self, gc, x, y, s, prop, angle): # TODO: fix positioning and encoding @@ -1305,7 +1306,7 @@ fonttype = global_fonttype if fonttype == 42 or num <= 255: - self._setup_textpos(ox, oy, 0, oldx, oldy) + self._setup_textpos(ox, oy, 0, 0, oldx, oldy) oldx, oldy = ox, oy if (fontname, fontsize) != prev_font: fontsize *= self.dpi/72.0 @@ -1398,7 +1399,7 @@ self.file.output(elt[1], elt[2], Op.selectfont) elif elt[0] == 'text': curx, cury = mytrans.transform((elt[1], elt[2])) - self._setup_textpos(curx, cury, angle, oldx, oldy) + self._setup_textpos(curx, cury, 0, angle, oldx, oldy) oldx, oldy = curx, cury if len(elt[3]) == 1: self.file.output(elt[3][0], Op.show) @@ -1447,13 +1448,13 @@ if rcParams['pdf.use14corefonts']: font = self._get_font_afm(prop) l, b, w, h = font.get_str_bbox(s) - y -= b * fontsize / 1000 + descent = -b * fontsize / 1000 fonttype = 42 else: font = self._get_font_ttf(prop) self.track_characters(font, s) font.set_text(s, 0.0, flags=LOAD_NO_HINTING) - y += font.get_descent() / 64.0 + descent = font.get_descent() / 64.0 fonttype = rcParams['pdf.fonttype'] @@ -1493,7 +1494,7 @@ self.file.fontName(prop), fontsize, Op.selectfont) - self._setup_textpos(x, y, angle) + self._setup_textpos(x, y, descent, angle) self.file.output(self.encode_string(s, fonttype), Op.show, Op.end_text) def draw_text_woven(chunks): @@ -1514,6 +1515,7 @@ # output all the 2-byte characters. for mode in (1, 2): newx = oldx = 0 + olddescent = 0 # Output a 1-byte character chunk if mode == 1: self.file.output(Op.begin_text, @@ -1523,9 +1525,10 @@ for chunk_type, chunk in chunks: if mode == 1 and chunk_type == 1: - self._setup_textpos(newx, 0, 0, oldx, 0, 0) + self._setup_textpos(newx, 0, descent, 0, oldx, 0, olddescent, 0) self.file.output(self.encode_string(chunk, fonttype), Op.show) oldx = newx + olddescent = descent lastgind = None for c in chunk: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-22 17:29:49
|
Revision: 6295 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6295&view=rev Author: mdboom Date: 2008-10-22 17:29:41 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Fix alignment of Unicode strings in PS backend. Thanks, Stan West. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py Modified: trunk/matplotlib/lib/matplotlib/backends/backend_ps.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2008-10-22 15:27:24 UTC (rev 6294) +++ trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2008-10-22 17:29:41 UTC (rev 6295) @@ -669,7 +669,8 @@ fontsize = prop.get_size_in_points() scale = 0.001*fontsize - thisx, thisy = 0, 0 + thisx = 0 + thisy = font.get_str_bbox_and_descent(s)[4] * scale last_name = None lines = [] for c in s: @@ -705,16 +706,18 @@ else: font = self._get_font_ttf(prop) + font.set_text(s, 0, flags=LOAD_NO_HINTING) + self.track_characters(font, s) self.set_color(*gc.get_rgb()) self.set_font(font.get_sfnt()[(1,0,0,6)], prop.get_size_in_points()) - self.track_characters(font, s) cmap = font.get_charmap() lastgind = None #print 'text', s lines = [] - thisx, thisy = 0,0 + thisx = 0 + thisy = font.get_descent() / 64.0 for c in s: ccode = ord(c) gind = cmap.get(ccode) @@ -739,11 +742,11 @@ thetext = '\n'.join(lines) ps = """gsave - %(x)f %(y)f translate - %(angle)f rotate - %(thetext)s - grestore - """ % locals() +%(x)f %(y)f translate +%(angle)f rotate +%(thetext)s +grestore +""" % locals() self._pswriter.write(ps) def draw_mathtext(self, gc, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2008-10-22 15:27:31
|
Revision: 6294 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6294&view=rev Author: mdboom Date: 2008-10-22 15:27:24 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Fix buglet in font_manager.py Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/font_manager.py Modified: trunk/matplotlib/lib/matplotlib/font_manager.py =================================================================== --- trunk/matplotlib/lib/matplotlib/font_manager.py 2008-10-22 13:27:22 UTC (rev 6293) +++ trunk/matplotlib/lib/matplotlib/font_manager.py 2008-10-22 15:27:24 UTC (rev 6294) @@ -1005,7 +1005,7 @@ verbose.report('\tfindfont failed %(name)s, %(style)s, %(variant)s'%locals(), 'debug') return None - if weight in font: + if weight not in font: setWeights(font) if weight not in font: return None This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <js...@us...> - 2008-10-22 13:27:27
|
Revision: 6293 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6293&view=rev Author: jswhit Date: 2008-10-22 13:27:22 +0000 (Wed, 22 Oct 2008) Log Message: ----------- python 2.6 tweaks Modified Paths: -------------- trunk/toolkits/basemap/lib/httplib2/__init__.py Modified: trunk/toolkits/basemap/lib/httplib2/__init__.py =================================================================== --- trunk/toolkits/basemap/lib/httplib2/__init__.py 2008-10-22 02:18:59 UTC (rev 6292) +++ trunk/toolkits/basemap/lib/httplib2/__init__.py 2008-10-22 13:27:22 UTC (rev 6293) @@ -26,7 +26,10 @@ import re import sys -import md5 +try: + from hashlib import md5 +except ImportError: + import md5 import email import email.Utils import email.Message @@ -41,7 +44,10 @@ import calendar import time import random -import sha +try: + from hashlib import sha1 as sha +except ImportError: + import sha import hmac from gettext import gettext as _ import socket This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-22 02:19:09
|
Revision: 6292 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6292&view=rev Author: jdh2358 Date: 2008-10-22 02:18:59 +0000 (Wed, 22 Oct 2008) Log Message: ----------- some screenshots fixes Modified Paths: -------------- trunk/matplotlib/doc/users/screenshots.rst Modified: trunk/matplotlib/doc/users/screenshots.rst =================================================================== --- trunk/matplotlib/doc/users/screenshots.rst 2008-10-22 02:02:22 UTC (rev 6291) +++ trunk/matplotlib/doc/users/screenshots.rst 2008-10-22 02:18:59 UTC (rev 6292) @@ -150,7 +150,7 @@ formatters for both the major and minor ticks; see matplotlib.ticker and matplotlib.dates for details and usage. -plot:: mpl_examples/api/date_demo.py +.. plot:: mpl_examples/api/date_demo.py .. _screenshots_jdh_demo: @@ -159,7 +159,7 @@ You can make much more sophisticated financial plots. This example emulates one of the `ChartDirector -<http://www.advsofteng.com/gallery_finance.html>` financial plots. +<http://www.advsofteng.com/gallery_finance.html>`_ financial plots. Some of the data in the plot, are real financial data, some are random traces that I used since the goal was to illustrate plotting techniques, not market analysis! @@ -228,12 +228,14 @@ A sampling of the many TeX expressions now supported by matplotlib's internal mathtext engine. The mathtext module provides TeX style -mathematical expressions using freetype2 and the BaKoMa computer -modern or STIX fonts. See the matplotlib.mathtext module for -additional. matplotlib mathtext is an independent implementation, and -does not required TeX or any external packages installed on your -computer. - +mathematical expressions using `freetype2 +<http://freetype.sourceforge.net/index2.html>`_ and the BaKoMa +computer modern or `STIX <http://www.stixfonts.org>`_ fonts. See the +:mod:`matplotlib.mathtext` module for additional. matplotlib mathtext +is an independent implementation, and does not required TeX or any +external packages installed on your computer. See the tutorial at +:ref:`mathtext-tutorial`. + .. plot:: mpl_examples/pylab_examples/mathtext_examples.py .. _screenshots_tex_demo: @@ -249,21 +251,21 @@ .. _screenshots_eeg_demo: +EEG demo ========= You can embed matplotlib into pygtk, wxpython, Tk, FLTK or Qt applications. Here is a screenshot of an eeg viewer called pbrain which is part of the NeuroImaging in Python suite `NIPY -<http://neuroimaging.scipy.org>`. Pbrain is written in pygtk using +<http://neuroimaging.scipy.org>`_. Pbrain is written in pygtk using matplotlib. The lower axes uses :func:`~matplotlib.pyplot.specgram` -to plot the spectrogram of one of the EEG channels. The code demo -linked above is a much simpler example of embedding matplotlib in -pygtk. For an example of how to use the navigation toolbar in your -applications, see examples/user_interfaces/embedding_in_gtk2.py. If -you want to use matplotlib in a wx application, see -examples/user_interfaces/embedding_in_wx2.py. If you want to work -with `glade <http://glade.gnome.org>`_, see -examples/user_interfaces/mpl_with_glade.py +to plot the spectrogram of one of the EEG channels. For an example of +how to use the navigation toolbar in your applications, see +:ref:`user_interfaces-embedding_in_gtk2`. If you want to use +matplotlib in a wx application, see +:ref:`user_interfaces-embedding_in_wx2`. If you want to work with +`glade <http://glade.gnome.org>`_, see +: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: <jd...@us...> - 2008-10-22 02:02:28
|
Revision: 6291 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6291&view=rev Author: jdh2358 Date: 2008-10-22 02:02:22 +0000 (Wed, 22 Oct 2008) Log Message: ----------- applied Pauls keybinding patch Modified Paths: -------------- trunk/matplotlib/doc/users/navigation_toolbar.rst trunk/matplotlib/lib/matplotlib/backend_bases.py Modified: trunk/matplotlib/doc/users/navigation_toolbar.rst =================================================================== --- trunk/matplotlib/doc/users/navigation_toolbar.rst 2008-10-22 01:24:18 UTC (rev 6290) +++ trunk/matplotlib/doc/users/navigation_toolbar.rst 2008-10-22 02:02:22 UTC (rev 6291) @@ -76,6 +76,30 @@ ``svg`` and ``pdf``. +Navigation Keyboard Shortcuts +----------------------------- + +================================== ===================== +Command Keyboard Shortcut(s) +================================== ===================== +Home/Reset **h** or **r** or **home** +Back **c** or **left arrow** or **backspace** +Forward **v** or **right arrow** +Pan/Zoom **p** +Zoom-to-rect **o** +Save **s** +Toggle fullscreen **f** +---------------------------------- --------------------- +**Pan/Zoom mode only** +- constrain pan/zoom to x axis hold **x** +- constrain pan/zoom to y axis hold **y** +- preserve aspect ratio hold **CONTROL** +---------------------------------- --------------------- +**In axes only** +- Toggle grid **g** +- Toggle y axis scale (log/linear) **l** +================================== ===================== + If you are using :mod:`matplotlib.pyplot` the toolbar will be created automatically for every figure. If you are writing your own user interface code, you can add the toolbar as a widget. The exact syntax Modified: trunk/matplotlib/lib/matplotlib/backend_bases.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backend_bases.py 2008-10-22 01:24:18 UTC (rev 6290) +++ trunk/matplotlib/lib/matplotlib/backend_bases.py 2008-10-22 02:02:22 UTC (rev 6291) @@ -1513,6 +1513,23 @@ if event.key == 'f': self.full_screen_toggle() + + # *h*ome or *r*eset mnemonic + elif event.key == 'h' or event.key == 'r' or event.key == "home": + self.canvas.toolbar.home() + # c and v to enable left handed quick navigation + elif event.key == 'left' or event.key == 'c' or event.key == 'backspace': + self.canvas.toolbar.back() + elif event.key == 'right' or event.key == 'v': + self.canvas.toolbar.forward() + # *p*an mnemonic + elif event.key == 'p': + self.canvas.toolbar.pan() + # z*o*om mnemonic + elif event.key == 'o': + self.canvas.toolbar.zoom() + elif event.key == 's': + self.canvas.toolbar.save_figure(self.canvas.toolbar) if event.inaxes is None: return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-22 01:24:30
|
Revision: 6290 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6290&view=rev Author: jdh2358 Date: 2008-10-22 01:24:18 +0000 (Wed, 22 Oct 2008) Log Message: ----------- fixed install doc bug 2184682 Modified Paths: -------------- trunk/matplotlib/doc/examples/gen_rst.py trunk/matplotlib/doc/faq/howto_faq.rst trunk/matplotlib/doc/users/installing.rst trunk/matplotlib/examples/pylab_examples/date_demo1.py trunk/matplotlib/examples/pylab_examples/date_demo2.py Modified: trunk/matplotlib/doc/examples/gen_rst.py =================================================================== --- trunk/matplotlib/doc/examples/gen_rst.py 2008-10-21 17:58:18 UTC (rev 6289) +++ trunk/matplotlib/doc/examples/gen_rst.py 2008-10-22 01:24:18 UTC (rev 6290) @@ -150,7 +150,7 @@ contents = '\n'.join([' %s'%row.rstrip() for row in contents.split('\n')]) fh.write(contents) - fh.write('\n\nKeywords: codex (see :ref:`how-to-search-examples`), python, matplotlib, pylab') + fh.write('\n\nKeywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)') fh.close() fhsubdirIndex.close() Modified: trunk/matplotlib/doc/faq/howto_faq.rst =================================================================== --- trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-21 17:58:18 UTC (rev 6289) +++ trunk/matplotlib/doc/faq/howto_faq.rst 2008-10-22 01:24:18 UTC (rev 6290) @@ -431,7 +431,7 @@ .. _howto-show -Use :func:`~matplotlib.pyplot.show` +Use :func:`~matplotlib.pyplot.show` ------------------------------------------ The user interface backends need to start the GUI mainloop, and this @@ -655,13 +655,13 @@ The nearly 300 code :ref:`examples-index` included with the matplotlib source distribution are full-text searchable from the :ref:`search` page, but sometimes when you search, you get a lot of results from the -:ref:`api-index` or other documentation that you may not be interested in if -you just want to find a complete, free-standing, working piece of -example code. To facilitate example searches, we have tagged every -page with the keyword ``codex`` for *code example* which shouldn't -appear anywhere else on this site except in the FAQ and in every -example. So if you want to search for an example that uses an ellipse, -:ref:`search` for ``codex ellipse``. +:ref:`api-index` or other documentation that you may not be interested +in if you just want to find a complete, free-standing, working piece +of example code. To facilitate example searches, we have tagged every +code example page with the keyword ``codex`` for *code example* which +shouldn't appear anywhere else on this site except in the FAQ and in +every example. So if you want to search for an example that uses an +ellipse, :ref:`search` for ``codex ellipse``. Modified: trunk/matplotlib/doc/users/installing.rst =================================================================== --- trunk/matplotlib/doc/users/installing.rst 2008-10-21 17:58:18 UTC (rev 6289) +++ trunk/matplotlib/doc/users/installing.rst 2008-10-22 01:24:18 UTC (rev 6290) @@ -39,7 +39,7 @@ progress:: >>> import numpy - >>> print numpy.__versions__ + >>> print numpy.__version__ matplotlib requires numpy version 1.1 or later. Although it is not a requirement to use matplotlib, we strongly encourage you to install Modified: trunk/matplotlib/examples/pylab_examples/date_demo1.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/date_demo1.py 2008-10-21 17:58:18 UTC (rev 6289) +++ trunk/matplotlib/examples/pylab_examples/date_demo1.py 2008-10-22 01:24:18 UTC (rev 6290) @@ -49,4 +49,5 @@ ax.fmt_ydata = price ax.grid(True) +fig.autofmt_xdate() show() Modified: trunk/matplotlib/examples/pylab_examples/date_demo2.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/date_demo2.py 2008-10-21 17:58:18 UTC (rev 6289) +++ trunk/matplotlib/examples/pylab_examples/date_demo2.py 2008-10-22 01:24:18 UTC (rev 6290) @@ -14,8 +14,11 @@ date1 = datetime.date( 2002, 1, 5 ) date2 = datetime.date( 2003, 12, 1 ) -mondays = WeekdayLocator(MONDAY) # every monday -months = MonthLocator(range(1,13), bymonthday=1) # every month +# every monday +mondays = WeekdayLocator(MONDAY) + +# every 3rd month +months = MonthLocator(range(1,13), bymonthday=1, interval=3) monthsFmt = DateFormatter("%b '%y") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-21 17:58:24
|
Revision: 6289 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6289&view=rev Author: jdh2358 Date: 2008-10-21 17:58:18 +0000 (Tue, 21 Oct 2008) Log Message: ----------- fixed a docstring in mlab Modified Paths: -------------- trunk/matplotlib/doc/_templates/index.html trunk/matplotlib/lib/matplotlib/mlab.py Modified: trunk/matplotlib/doc/_templates/index.html =================================================================== --- trunk/matplotlib/doc/_templates/index.html 2008-10-21 15:26:22 UTC (rev 6288) +++ trunk/matplotlib/doc/_templates/index.html 2008-10-21 17:58:18 UTC (rev 6289) @@ -16,7 +16,7 @@ <p>matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc, with just a few lines of code. - For a sampling, see the <a href="{{ pathto('users/screenshots') }}">screenshots</a>, <a href="{{ pathto('gallery') }}">thumbnail gallery</a>, and + For a sampling, see the <a href="{{ pathto('users/screenshots') }}">screenshots</a>, <a href="{{ pathto('gallery') }}">thumbnail</a> gallery, and <a href="examples/index.html">examples</a> directory</p> <p align="center"><a href="{{ pathto('users/screenshots') }}"><img align="middle" @@ -36,11 +36,12 @@ <p>For the power user, you have full control of line styles, font properties, axes properties, etc, via an object oriented interface or via a handle graphics interface familiar to Matlab® users. - The plotting functions in the <a href="api/pyplot_api.html">pyplot</a> - interface have a high degree of Matlab® compatibility.</p> + The pylab mode provides all of the <a href="api/pyplot_api.html">pyplot</a> plotting + functions listed below, as well as non-plotting functions from + <a href=http://scipy.org/Numpy_Example_List_With_Doc>numpy</a> and +<a href="api/mlab_api.html">matplotlib.mlab</a> </p> - <h3>Plotting commands</h3> - <br/> + <h3>Plotting commands</h3> <br/> <table border="1" cellpadding="3" cellspacing="2"> Modified: trunk/matplotlib/lib/matplotlib/mlab.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mlab.py 2008-10-21 15:26:22 UTC (rev 6288) +++ trunk/matplotlib/lib/matplotlib/mlab.py 2008-10-21 17:58:18 UTC (rev 6289) @@ -117,6 +117,7 @@ The following are deprecated; please import directly from numpy (with care--function signatures may differ): + :meth:`conv` convolution (numpy.convolve) @@ -129,6 +130,9 @@ :meth:`linspace` Linear spaced array from min to max +:meth:`load` + load ASCII file - use numpy.loadtxt + :meth:`meshgrid` Make a 2D grid from 2 1 arrays (numpy.meshgrid) @@ -138,11 +142,14 @@ :meth:`polyval` evaluate a vector for a vector of polynomial coeffs (numpy.polyval) +:meth:`save` + save ASCII file - use numpy.savetxt + :meth:`trapz` trapeziodal integration (trapz(x,y) -> numpy.trapz(y,x)) :meth:`vander` - the Vandermonde matrix (numpy.vander) + the Vandermonde matrix (numpy.vander) """ @@ -247,13 +254,13 @@ to calculate the Fourier frequencies, freqs, in cycles per time unit. - *NFFT* + *NFFT* The length of the FFT window. Must be even; a power 2 is most efficient. - *detrend* + *detrend* is a function, unlike in matlab where it is a vector. - *window* + *window* can be a function or a vector of length NFFT. To create window vectors see numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window etc. @@ -478,7 +485,7 @@ .. math:: - C_{xy} = \frac{|P_{xy}|^2}/{P_{xx}P_{yy}} + C_{xy} = \\frac{|P_{xy}|^2}{P_{xx}P_{yy}} The return value is the tuple (*Cxy*, *f*), where *f* are the frequencies of the coherence vector. @@ -967,11 +974,11 @@ *y0* initial state vector - + *t* - sample times + sample times - *derivs* + *derivs* returns the derivative of the system and has the signature ``dy = derivs(yi, ti)`` @@ -1149,7 +1156,7 @@ Returns : .. math:: - \lambda = \frac{1}{n}\sum \ln|f^'(x_i)| + \lambda = \\frac{1}{n}\\sum \\ln|f^'(x_i)| .. seealso:: Sec 10.5 Strogatz (1994) "Nonlinear Dynamics and Chaos". This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-21 15:26:39
|
Revision: 6288 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6288&view=rev Author: jdh2358 Date: 2008-10-21 15:26:22 +0000 (Tue, 21 Oct 2008) Log Message: ----------- restored the support for multiple pyplots that I broke earlier Modified Paths: -------------- trunk/matplotlib/API_CHANGES trunk/matplotlib/CHANGELOG trunk/matplotlib/doc/_templates/gallery.html trunk/matplotlib/doc/make.py trunk/matplotlib/doc/sphinxext/plot_directive.py trunk/matplotlib/lib/matplotlib/axes.py Modified: trunk/matplotlib/API_CHANGES =================================================================== --- trunk/matplotlib/API_CHANGES 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/API_CHANGES 2008-10-21 15:26:22 UTC (rev 6288) @@ -1,7 +1,9 @@ - Changes for 0.98.x ================== - + +* Restored 0.91 behavior of get_xlim/ylim returning a tuple + rather than array - JDH + * AFM.get_fullname() and get_familyname() no longer raise an exception if the AFM file does not specify these optional attributes, but returns a guess based on the required FontName attribute. Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/CHANGELOG 2008-10-21 15:26:22 UTC (rev 6288) @@ -1,3 +1,6 @@ +2008-10-21 Restored 0.91 behavior of get_xlim/ylim returning a tuple + rather than array - JDH + 2008-10-20 Added image thumbnail generating function matplotlib.image.thumbnail. See examples/misc/image_thumbnail.py - JDH @@ -5,8 +8,8 @@ 2008-10-20 Applied scatleg patch based on ideas and work by Erik Tollerud and Jae-Joon Lee. - MM -2008-10-11 Fixed bug in pdf backend: if you pass a file object for - output instead of a filename, e.g. in a wep app, we now +2008-10-11 Fixed bug in pdf backend: if you pass a file object for + output instead of a filename, e.g. in a wep app, we now flush the object at the end. - JKS 2008-10-08 Add path simplification support to paths with gaps. - EF Modified: trunk/matplotlib/doc/_templates/gallery.html =================================================================== --- trunk/matplotlib/doc/_templates/gallery.html 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/doc/_templates/gallery.html 2008-10-21 15:26:22 UTC (rev 6288) @@ -23,7 +23,7 @@ <a href="examples/api/date_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_demo.png" border="0" alt="date_demo"/></a> -<a href="examples/api/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_index_formatter.png" border="0" alt="date_index_formatter"/></a> +<a href="examples/api/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_index_formatter_00.png" border="0" alt="date_index_formatter"/></a> <a href="examples/api/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_index_formatter_01.png" border="0" alt="date_index_formatter"/></a> @@ -57,13 +57,13 @@ <a href="examples/pylab_examples/accented_text.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/accented_text.png" border="0" alt="accented_text"/></a> -<a href="examples/pylab_examples/agg_buffer_to_array.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/agg_buffer_to_array.png" border="0" alt="agg_buffer_to_array"/></a> +<a href="examples/pylab_examples/agg_buffer_to_array.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/agg_buffer_to_array_00.png" border="0" alt="agg_buffer_to_array"/></a> <a href="examples/pylab_examples/agg_buffer_to_array.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/agg_buffer_to_array_01.png" border="0" alt="agg_buffer_to_array"/></a> <a href="examples/pylab_examples/alignment_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/alignment_test.png" border="0" alt="alignment_test"/></a> -<a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo.png" border="0" alt="annotation_demo"/></a> +<a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo_00.png" border="0" alt="annotation_demo"/></a> <a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo_01.png" border="0" alt="annotation_demo"/></a> @@ -91,11 +91,11 @@ <a href="examples/pylab_examples/barcode_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barcode_demo.png" border="0" alt="barcode_demo"/></a> -<a href="examples/pylab_examples/barh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barh_demo.png" border="0" alt="barh_demo"/></a> +<a href="examples/pylab_examples/barh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barh_demo_00.png" border="0" alt="barh_demo"/></a> <a href="examples/pylab_examples/barh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barh_demo_01.png" border="0" alt="barh_demo"/></a> -<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo.png" border="0" alt="boxplot_demo"/></a> +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_00.png" border="0" alt="boxplot_demo"/></a> <a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_01.png" border="0" alt="boxplot_demo"/></a> @@ -121,7 +121,7 @@ <a href="examples/pylab_examples/color_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/color_demo.png" border="0" alt="color_demo"/></a> -<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo.png" border="0" alt="contour_demo"/></a> +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_00.png" border="0" alt="contour_demo"/></a> <a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_01.png" border="0" alt="contour_demo"/></a> @@ -133,11 +133,11 @@ <a href="examples/pylab_examples/contour_image.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_image.png" border="0" alt="contour_image"/></a> -<a href="examples/pylab_examples/contour_label_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_label_demo.png" border="0" alt="contour_label_demo"/></a> +<a href="examples/pylab_examples/contour_label_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_label_demo_00.png" border="0" alt="contour_label_demo"/></a> <a href="examples/pylab_examples/contour_label_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_label_demo_01.png" border="0" alt="contour_label_demo"/></a> -<a href="examples/pylab_examples/contourf_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_demo.png" border="0" alt="contourf_demo"/></a> +<a href="examples/pylab_examples/contourf_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_demo_00.png" border="0" alt="contourf_demo"/></a> <a href="examples/pylab_examples/contourf_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_demo_01.png" border="0" alt="contourf_demo"/></a> @@ -181,7 +181,7 @@ <a href="examples/pylab_examples/equal_aspect_ratio.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/equal_aspect_ratio.png" border="0" alt="equal_aspect_ratio"/></a> -<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo.png" border="0" alt="errorbar_demo"/></a> +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_00.png" border="0" alt="errorbar_demo"/></a> <a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_01.png" border="0" alt="errorbar_demo"/></a> @@ -201,7 +201,7 @@ <a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_09.png" border="0" alt="errorbar_demo"/></a> -<a href="examples/pylab_examples/errorbar_limits.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_limits.png" border="0" alt="errorbar_limits"/></a> +<a href="examples/pylab_examples/errorbar_limits.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_limits_00.png" border="0" alt="errorbar_limits"/></a> <a href="examples/pylab_examples/errorbar_limits.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_limits_01.png" border="0" alt="errorbar_limits"/></a> @@ -253,7 +253,7 @@ <a href="examples/pylab_examples/histogram_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo.png" border="0" alt="histogram_demo"/></a> -<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended.png" border="0" alt="histogram_demo_extended"/></a> +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_00.png" border="0" alt="histogram_demo_extended"/></a> <a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_01.png" border="0" alt="histogram_demo_extended"/></a> @@ -273,7 +273,7 @@ <a href="examples/pylab_examples/image_demo3.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_demo3.png" border="0" alt="image_demo3"/></a> -<a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp.png" border="0" alt="image_interp"/></a> +<a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp_00.png" border="0" alt="image_interp"/></a> <a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp_01.png" border="0" alt="image_interp"/></a> @@ -295,7 +295,7 @@ <a href="examples/pylab_examples/layer_images.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/layer_images.png" border="0" alt="layer_images"/></a> -<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto.png" border="0" alt="legend_auto"/></a> +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_00.png" border="0" alt="legend_auto"/></a> <a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_01.png" border="0" alt="legend_auto"/></a> @@ -349,7 +349,7 @@ <a href="examples/pylab_examples/mathtext_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/mathtext_demo.png" border="0" alt="mathtext_demo"/></a> -<a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow.png" border="0" alt="matshow"/></a> +<a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow_00.png" border="0" alt="matshow"/></a> <a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow_01.png" border="0" alt="matshow"/></a> @@ -363,13 +363,13 @@ <a href="examples/pylab_examples/multiline.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiline.png" border="0" alt="multiline"/></a> -<a href="examples/pylab_examples/multiple_figs_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiple_figs_demo.png" border="0" alt="multiple_figs_demo"/></a> +<a href="examples/pylab_examples/multiple_figs_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiple_figs_demo_00.png" border="0" alt="multiple_figs_demo"/></a> <a href="examples/pylab_examples/multiple_figs_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiple_figs_demo_01.png" border="0" alt="multiple_figs_demo"/></a> <a href="examples/pylab_examples/nan_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/nan_test.png" border="0" alt="nan_test"/></a> -<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo.png" border="0" alt="newscalarformatter_demo"/></a> +<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo_00.png" border="0" alt="newscalarformatter_demo"/></a> <a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo_01.png" border="0" alt="newscalarformatter_demo"/></a> @@ -387,7 +387,7 @@ <a href="examples/pylab_examples/pie_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pie_demo.png" border="0" alt="pie_demo"/></a> -<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo.png" border="0" alt="plotfile_demo"/></a> +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_00.png" border="0" alt="plotfile_demo"/></a> <a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_01.png" border="0" alt="plotfile_demo"/></a> @@ -413,7 +413,7 @@ <a href="examples/pylab_examples/quadmesh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quadmesh_demo.png" border="0" alt="quadmesh_demo"/></a> -<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo.png" border="0" alt="quiver_demo"/></a> +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_00.png" border="0" alt="quiver_demo"/></a> <a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_01.png" border="0" alt="quiver_demo"/></a> @@ -455,7 +455,7 @@ <a href="examples/pylab_examples/subplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_demo.png" border="0" alt="subplot_demo"/></a> -<a href="examples/pylab_examples/subplot_toolbar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_toolbar.png" border="0" alt="subplot_toolbar"/></a> +<a href="examples/pylab_examples/subplot_toolbar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_toolbar_00.png" border="0" alt="subplot_toolbar"/></a> <a href="examples/pylab_examples/subplot_toolbar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_toolbar_01.png" border="0" alt="subplot_toolbar"/></a> @@ -489,7 +489,7 @@ <a href="examples/pylab_examples/xcorr_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/xcorr_demo.png" border="0" alt="xcorr_demo"/></a> -<a href="examples/pylab_examples/zorder_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/zorder_demo.png" border="0" alt="zorder_demo"/></a> +<a href="examples/pylab_examples/zorder_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/zorder_demo_00.png" border="0" alt="zorder_demo"/></a> <a href="examples/pylab_examples/zorder_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/zorder_demo_01.png" border="0" alt="zorder_demo"/></a> Modified: trunk/matplotlib/doc/make.py =================================================================== --- trunk/matplotlib/doc/make.py 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/doc/make.py 2008-10-21 15:26:22 UTC (rev 6288) @@ -17,8 +17,6 @@ def sf(): 'push a copy to the sf site' os.system('cd build/html; rsync -avz . jdh2358,mat...@we...:/home/groups/m/ma/matplotlib/htdocs/ -essh --cvs-exclude') - # we are now doing this in the doc/examples build - #os.system('cd ~/mpl/examples; svn-clean; cd ..; rsync -avz examples jdh2358,mat...@we...:/home/groups/m/ma/matplotlib/htdocs/ -essh --cvs-exclude --delete') def sfpdf(): 'push a copy to the sf site' Modified: trunk/matplotlib/doc/sphinxext/plot_directive.py =================================================================== --- trunk/matplotlib/doc/sphinxext/plot_directive.py 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/doc/sphinxext/plot_directive.py 2008-10-21 15:26:22 UTC (rev 6288) @@ -127,12 +127,7 @@ while True: all_exists = True for format, dpi in formats: - if i==0: - outname = basename - else: - outname = "%s_%02d" % (basename, i) - - outname = os.path.join(outdir, '%s.%s' % (outname, format)) + outname = os.path.join(outdir, '%s_%02d.%s' % (basename, i, format)) if out_of_date(fullpath, outname): all_exists = False break @@ -163,7 +158,7 @@ fig_managers = _pylab_helpers.Gcf.get_all_fig_managers() for i, figman in enumerate(fig_managers): for format, dpi in formats: - if i==0: + if len(fig_managers) == 1: outname = basename else: outname = "%s_%02d" % (basename, i) @@ -221,7 +216,7 @@ options = "\n".join(options) for i in range(num_figs): - if i==0: + if num_figs == 1: outname = basename else: outname = "%s_%02d" % (basename, i) Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2008-10-21 14:52:59 UTC (rev 6287) +++ trunk/matplotlib/lib/matplotlib/axes.py 2008-10-21 15:26:22 UTC (rev 6288) @@ -1771,7 +1771,7 @@ """ Get the x-axis range [*xmin*, *xmax*] """ - return self.viewLim.intervalx + return tuple(self.viewLim.intervalx) def set_xlim(self, xmin=None, xmax=None, emit=True, **kwargs): """ @@ -1944,7 +1944,7 @@ """ Get the y-axis range [*ymin*, *ymax*] """ - return self.viewLim.intervaly + return tuple(self.viewLim.intervaly) def set_ylim(self, ymin=None, ymax=None, emit=True, **kwargs): """ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jd...@us...> - 2008-10-21 14:53:10
|
Revision: 6287 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6287&view=rev Author: jdh2358 Date: 2008-10-21 14:52:59 +0000 (Tue, 21 Oct 2008) Log Message: ----------- cleaned up output of mathmpl and plot directive; added thumbnail gallery Modified Paths: -------------- trunk/matplotlib/doc/_templates/index.html trunk/matplotlib/doc/_templates/layout.html trunk/matplotlib/doc/conf.py trunk/matplotlib/doc/devel/coding_guide.rst trunk/matplotlib/doc/examples/gen_rst.py trunk/matplotlib/doc/faq/environment_variables_faq.rst trunk/matplotlib/doc/faq/installing_faq.rst trunk/matplotlib/doc/make.py trunk/matplotlib/doc/sphinxext/mathmpl.py trunk/matplotlib/doc/sphinxext/plot_directive.py trunk/matplotlib/doc/users/screenshots.rst trunk/matplotlib/doc/users/usetex.rst trunk/matplotlib/examples/pylab_examples/polar_demo.py trunk/matplotlib/lib/matplotlib/cbook.py trunk/matplotlib/lib/matplotlib/image.py Added Paths: ----------- trunk/matplotlib/doc/_templates/gallery.html trunk/matplotlib/doc/_templates/gen_gallery.py Added: trunk/matplotlib/doc/_templates/gallery.html =================================================================== --- trunk/matplotlib/doc/_templates/gallery.html (rev 0) +++ trunk/matplotlib/doc/_templates/gallery.html 2008-10-21 14:52:59 UTC (rev 6287) @@ -0,0 +1,498 @@ +{% extends "layout.html" %} +{% set title = "Thumbnail gallery" %} + + +{% block body %} + +<h3>Click on any image to see full size image and source code</h3> +<br> + +<a href="examples/api/barchart_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/barchart_demo.png" border="0" alt="barchart_demo"/></a> + +<a href="examples/api/bbox_intersect.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/bbox_intersect.png" border="0" alt="bbox_intersect"/></a> + +<a href="examples/api/collections_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/collections_demo.png" border="0" alt="collections_demo"/></a> + +<a href="examples/api/color_cycle.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/color_cycle.png" border="0" alt="color_cycle"/></a> + +<a href="examples/api/colorbar_only.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/colorbar_only.png" border="0" alt="colorbar_only"/></a> + +<a href="examples/api/custom_projection_example.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/custom_projection_example.png" border="0" alt="custom_projection_example"/></a> + +<a href="examples/api/custom_scale_example.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/custom_scale_example.png" border="0" alt="custom_scale_example"/></a> + +<a href="examples/api/date_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_demo.png" border="0" alt="date_demo"/></a> + +<a href="examples/api/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_index_formatter.png" border="0" alt="date_index_formatter"/></a> + +<a href="examples/api/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/date_index_formatter_01.png" border="0" alt="date_index_formatter"/></a> + +<a href="examples/api/donut_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/donut_demo.png" border="0" alt="donut_demo"/></a> + +<a href="examples/api/histogram_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/histogram_demo.png" border="0" alt="histogram_demo"/></a> + +<a href="examples/api/image_zcoord.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/image_zcoord.png" border="0" alt="image_zcoord"/></a> + +<a href="examples/api/legend_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/legend_demo.png" border="0" alt="legend_demo"/></a> + +<a href="examples/api/line_with_text.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/line_with_text.png" border="0" alt="line_with_text"/></a> + +<a href="examples/api/logo2.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/logo2.png" border="0" alt="logo2"/></a> + +<a href="examples/api/mathtext_asarray.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/mathtext_asarray.png" border="0" alt="mathtext_asarray"/></a> + +<a href="examples/api/patch_collection.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/patch_collection.png" border="0" alt="patch_collection"/></a> + +<a href="examples/api/path_patch_demo.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/path_patch_demo.png" border="0" alt="path_patch_demo"/></a> + +<a href="examples/api/quad_bezier.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/quad_bezier.png" border="0" alt="quad_bezier"/></a> + +<a href="examples/api/scatter_piecharts.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/scatter_piecharts.png" border="0" alt="scatter_piecharts"/></a> + +<a href="examples/api/two_scales.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/two_scales.png" border="0" alt="two_scales"/></a> + +<a href="examples/api/watermark_image.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/watermark_image.png" border="0" alt="watermark_image"/></a> + +<a href="examples/api/watermark_text.html"><img src="_static/plot_directive/mpl_examples/api/thumbnails/watermark_text.png" border="0" alt="watermark_text"/></a> + +<a href="examples/pylab_examples/accented_text.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/accented_text.png" border="0" alt="accented_text"/></a> + +<a href="examples/pylab_examples/agg_buffer_to_array.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/agg_buffer_to_array.png" border="0" alt="agg_buffer_to_array"/></a> + +<a href="examples/pylab_examples/agg_buffer_to_array.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/agg_buffer_to_array_01.png" border="0" alt="agg_buffer_to_array"/></a> + +<a href="examples/pylab_examples/alignment_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/alignment_test.png" border="0" alt="alignment_test"/></a> + +<a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo.png" border="0" alt="annotation_demo"/></a> + +<a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo_01.png" border="0" alt="annotation_demo"/></a> + +<a href="examples/pylab_examples/annotation_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/annotation_demo_02.png" border="0" alt="annotation_demo"/></a> + +<a href="examples/pylab_examples/anscombe.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/anscombe.png" border="0" alt="anscombe"/></a> + +<a href="examples/pylab_examples/arctest.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/arctest.png" border="0" alt="arctest"/></a> + +<a href="examples/pylab_examples/arrow_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/arrow_demo.png" border="0" alt="arrow_demo"/></a> + +<a href="examples/pylab_examples/axes_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/axes_demo.png" border="0" alt="axes_demo"/></a> + +<a href="examples/pylab_examples/axes_props.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/axes_props.png" border="0" alt="axes_props"/></a> + +<a href="examples/pylab_examples/axhspan_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/axhspan_demo.png" border="0" alt="axhspan_demo"/></a> + +<a href="examples/pylab_examples/axis_equal_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/axis_equal_demo.png" border="0" alt="axis_equal_demo"/></a> + +<a href="examples/pylab_examples/bar_stacked.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/bar_stacked.png" border="0" alt="bar_stacked"/></a> + +<a href="examples/pylab_examples/barb_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barb_demo.png" border="0" alt="barb_demo"/></a> + +<a href="examples/pylab_examples/barchart_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barchart_demo.png" border="0" alt="barchart_demo"/></a> + +<a href="examples/pylab_examples/barcode_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barcode_demo.png" border="0" alt="barcode_demo"/></a> + +<a href="examples/pylab_examples/barh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barh_demo.png" border="0" alt="barh_demo"/></a> + +<a href="examples/pylab_examples/barh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/barh_demo_01.png" border="0" alt="barh_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_01.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_02.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_03.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_04.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_05.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/boxplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/boxplot_demo_06.png" border="0" alt="boxplot_demo"/></a> + +<a href="examples/pylab_examples/break.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/break.png" border="0" alt="break"/></a> + +<a href="examples/pylab_examples/broken_barh.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/broken_barh.png" border="0" alt="broken_barh"/></a> + +<a href="examples/pylab_examples/clippedline.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/clippedline.png" border="0" alt="clippedline"/></a> + +<a href="examples/pylab_examples/cohere_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/cohere_demo.png" border="0" alt="cohere_demo"/></a> + +<a href="examples/pylab_examples/color_by_yvalue.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/color_by_yvalue.png" border="0" alt="color_by_yvalue"/></a> + +<a href="examples/pylab_examples/color_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/color_demo.png" border="0" alt="color_demo"/></a> + +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo.png" border="0" alt="contour_demo"/></a> + +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_01.png" border="0" alt="contour_demo"/></a> + +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_02.png" border="0" alt="contour_demo"/></a> + +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_03.png" border="0" alt="contour_demo"/></a> + +<a href="examples/pylab_examples/contour_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_demo_04.png" border="0" alt="contour_demo"/></a> + +<a href="examples/pylab_examples/contour_image.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_image.png" border="0" alt="contour_image"/></a> + +<a href="examples/pylab_examples/contour_label_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_label_demo.png" border="0" alt="contour_label_demo"/></a> + +<a href="examples/pylab_examples/contour_label_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contour_label_demo_01.png" border="0" alt="contour_label_demo"/></a> + +<a href="examples/pylab_examples/contourf_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_demo.png" border="0" alt="contourf_demo"/></a> + +<a href="examples/pylab_examples/contourf_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_demo_01.png" border="0" alt="contourf_demo"/></a> + +<a href="examples/pylab_examples/contourf_log.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/contourf_log.png" border="0" alt="contourf_log"/></a> + +<a href="examples/pylab_examples/coords_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/coords_demo.png" border="0" alt="coords_demo"/></a> + +<a href="examples/pylab_examples/coords_report.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/coords_report.png" border="0" alt="coords_report"/></a> + +<a href="examples/pylab_examples/csd_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/csd_demo.png" border="0" alt="csd_demo"/></a> + +<a href="examples/pylab_examples/custom_figure_class.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/custom_figure_class.png" border="0" alt="custom_figure_class"/></a> + +<a href="examples/pylab_examples/custom_ticker1.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/custom_ticker1.png" border="0" alt="custom_ticker1"/></a> + +<a href="examples/pylab_examples/customize_rc.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/customize_rc.png" border="0" alt="customize_rc"/></a> + +<a href="examples/pylab_examples/dannys_example.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/dannys_example.png" border="0" alt="dannys_example"/></a> + +<a href="examples/pylab_examples/dash_control.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/dash_control.png" border="0" alt="dash_control"/></a> + +<a href="examples/pylab_examples/dashpointlabel.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/dashpointlabel.png" border="0" alt="dashpointlabel"/></a> + +<a href="examples/pylab_examples/date_demo1.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/date_demo1.png" border="0" alt="date_demo1"/></a> + +<a href="examples/pylab_examples/date_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/date_demo2.png" border="0" alt="date_demo2"/></a> + +<a href="examples/pylab_examples/date_demo_convert.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/date_demo_convert.png" border="0" alt="date_demo_convert"/></a> + +<a href="examples/pylab_examples/date_demo_rrule.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/date_demo_rrule.png" border="0" alt="date_demo_rrule"/></a> + +<a href="examples/pylab_examples/date_index_formatter.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/date_index_formatter.png" border="0" alt="date_index_formatter"/></a> + +<a href="examples/pylab_examples/dolphin.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/dolphin.png" border="0" alt="dolphin"/></a> + +<a href="examples/pylab_examples/ellipse_collection.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/ellipse_collection.png" border="0" alt="ellipse_collection"/></a> + +<a href="examples/pylab_examples/ellipse_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/ellipse_demo.png" border="0" alt="ellipse_demo"/></a> + +<a href="examples/pylab_examples/ellipse_rotated.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/ellipse_rotated.png" border="0" alt="ellipse_rotated"/></a> + +<a href="examples/pylab_examples/equal_aspect_ratio.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/equal_aspect_ratio.png" border="0" alt="equal_aspect_ratio"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_01.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_02.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_03.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_04.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_05.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_06.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_07.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_08.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_demo_09.png" border="0" alt="errorbar_demo"/></a> + +<a href="examples/pylab_examples/errorbar_limits.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_limits.png" border="0" alt="errorbar_limits"/></a> + +<a href="examples/pylab_examples/errorbar_limits.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/errorbar_limits_01.png" border="0" alt="errorbar_limits"/></a> + +<a href="examples/pylab_examples/fancybox_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fancybox_demo.png" border="0" alt="fancybox_demo"/></a> + +<a href="examples/pylab_examples/fancytextbox_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fancytextbox_demo.png" border="0" alt="fancytextbox_demo"/></a> + +<a href="examples/pylab_examples/figimage_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/figimage_demo.png" border="0" alt="figimage_demo"/></a> + +<a href="examples/pylab_examples/figlegend_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/figlegend_demo.png" border="0" alt="figlegend_demo"/></a> + +<a href="examples/pylab_examples/figure_title.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/figure_title.png" border="0" alt="figure_title"/></a> + +<a href="examples/pylab_examples/fill_between.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fill_between.png" border="0" alt="fill_between"/></a> + +<a href="examples/pylab_examples/fill_between_posneg.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fill_between_posneg.png" border="0" alt="fill_between_posneg"/></a> + +<a href="examples/pylab_examples/fill_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fill_demo.png" border="0" alt="fill_demo"/></a> + +<a href="examples/pylab_examples/fill_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fill_demo2.png" border="0" alt="fill_demo2"/></a> + +<a href="examples/pylab_examples/fill_spiral.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fill_spiral.png" border="0" alt="fill_spiral"/></a> + +<a href="examples/pylab_examples/finance_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/finance_demo.png" border="0" alt="finance_demo"/></a> + +<a href="examples/pylab_examples/finance_work2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/finance_work2.png" border="0" alt="finance_work2"/></a> + +<a href="examples/pylab_examples/findobj_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/findobj_demo.png" border="0" alt="findobj_demo"/></a> + +<a href="examples/pylab_examples/fonts_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fonts_demo.png" border="0" alt="fonts_demo"/></a> + +<a href="examples/pylab_examples/fonts_demo_kw.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/fonts_demo_kw.png" border="0" alt="fonts_demo_kw"/></a> + +<a href="examples/pylab_examples/ganged_plots.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/ganged_plots.png" border="0" alt="ganged_plots"/></a> + +<a href="examples/pylab_examples/geo_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/geo_demo.png" border="0" alt="geo_demo"/></a> + +<a href="examples/pylab_examples/gradient_bar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/gradient_bar.png" border="0" alt="gradient_bar"/></a> + +<a href="examples/pylab_examples/griddata_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/griddata_demo.png" border="0" alt="griddata_demo"/></a> + +<a href="examples/pylab_examples/hatch_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/hatch_demo.png" border="0" alt="hatch_demo"/></a> + +<a href="examples/pylab_examples/hexbin_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/hexbin_demo.png" border="0" alt="hexbin_demo"/></a> + +<a href="examples/pylab_examples/hexbin_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/hexbin_demo2.png" border="0" alt="hexbin_demo2"/></a> + +<a href="examples/pylab_examples/hist_colormapped.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/hist_colormapped.png" border="0" alt="hist_colormapped"/></a> + +<a href="examples/pylab_examples/histogram_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo.png" border="0" alt="histogram_demo"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_01.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_02.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_03.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_04.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/histogram_demo_extended.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/histogram_demo_extended_05.png" border="0" alt="histogram_demo_extended"/></a> + +<a href="examples/pylab_examples/hline_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/hline_demo.png" border="0" alt="hline_demo"/></a> + +<a href="examples/pylab_examples/image_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_demo.png" border="0" alt="image_demo"/></a> + +<a href="examples/pylab_examples/image_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_demo2.png" border="0" alt="image_demo2"/></a> + +<a href="examples/pylab_examples/image_demo3.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_demo3.png" border="0" alt="image_demo3"/></a> + +<a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp.png" border="0" alt="image_interp"/></a> + +<a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp_01.png" border="0" alt="image_interp"/></a> + +<a href="examples/pylab_examples/image_interp.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_interp_02.png" border="0" alt="image_interp"/></a> + +<a href="examples/pylab_examples/image_masked.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_masked.png" border="0" alt="image_masked"/></a> + +<a href="examples/pylab_examples/image_nonuniform.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_nonuniform.png" border="0" alt="image_nonuniform"/></a> + +<a href="examples/pylab_examples/image_origin.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_origin.png" border="0" alt="image_origin"/></a> + +<a href="examples/pylab_examples/image_slices_viewer.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/image_slices_viewer.png" border="0" alt="image_slices_viewer"/></a> + +<a href="examples/pylab_examples/integral_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/integral_demo.png" border="0" alt="integral_demo"/></a> + +<a href="examples/pylab_examples/interp_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/interp_demo.png" border="0" alt="interp_demo"/></a> + +<a href="examples/pylab_examples/invert_axes.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/invert_axes.png" border="0" alt="invert_axes"/></a> + +<a href="examples/pylab_examples/layer_images.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/layer_images.png" border="0" alt="layer_images"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_01.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_02.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_03.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_04.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_05.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_06.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_07.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_08.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_auto.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_auto_09.png" border="0" alt="legend_auto"/></a> + +<a href="examples/pylab_examples/legend_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_demo.png" border="0" alt="legend_demo"/></a> + +<a href="examples/pylab_examples/legend_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_demo2.png" border="0" alt="legend_demo2"/></a> + +<a href="examples/pylab_examples/legend_scatter.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/legend_scatter.png" border="0" alt="legend_scatter"/></a> + +<a href="examples/pylab_examples/line_collection.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/line_collection.png" border="0" alt="line_collection"/></a> + +<a href="examples/pylab_examples/line_collection2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/line_collection2.png" border="0" alt="line_collection2"/></a> + +<a href="examples/pylab_examples/line_styles.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/line_styles.png" border="0" alt="line_styles"/></a> + +<a href="examples/pylab_examples/load_converter.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/load_converter.png" border="0" alt="load_converter"/></a> + +<a href="examples/pylab_examples/loadrec.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/loadrec.png" border="0" alt="loadrec"/></a> + +<a href="examples/pylab_examples/log_bar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/log_bar.png" border="0" alt="log_bar"/></a> + +<a href="examples/pylab_examples/log_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/log_demo.png" border="0" alt="log_demo"/></a> + +<a href="examples/pylab_examples/log_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/log_test.png" border="0" alt="log_test"/></a> + +<a href="examples/pylab_examples/logo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/logo.png" border="0" alt="logo"/></a> + +<a href="examples/pylab_examples/major_minor_demo1.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/major_minor_demo1.png" border="0" alt="major_minor_demo1"/></a> + +<a href="examples/pylab_examples/major_minor_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/major_minor_demo2.png" border="0" alt="major_minor_demo2"/></a> + +<a href="examples/pylab_examples/manual_axis.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/manual_axis.png" border="0" alt="manual_axis"/></a> + +<a href="examples/pylab_examples/masked_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/masked_demo.png" border="0" alt="masked_demo"/></a> + +<a href="examples/pylab_examples/mathtext_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/mathtext_demo.png" border="0" alt="mathtext_demo"/></a> + +<a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow.png" border="0" alt="matshow"/></a> + +<a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow_01.png" border="0" alt="matshow"/></a> + +<a href="examples/pylab_examples/matshow.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/matshow_04.png" border="0" alt="matshow"/></a> + +<a href="examples/pylab_examples/mri_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/mri_demo.png" border="0" alt="mri_demo"/></a> + +<a href="examples/pylab_examples/mri_with_eeg.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/mri_with_eeg.png" border="0" alt="mri_with_eeg"/></a> + +<a href="examples/pylab_examples/multi_image.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multi_image.png" border="0" alt="multi_image"/></a> + +<a href="examples/pylab_examples/multiline.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiline.png" border="0" alt="multiline"/></a> + +<a href="examples/pylab_examples/multiple_figs_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiple_figs_demo.png" border="0" alt="multiple_figs_demo"/></a> + +<a href="examples/pylab_examples/multiple_figs_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/multiple_figs_demo_01.png" border="0" alt="multiple_figs_demo"/></a> + +<a href="examples/pylab_examples/nan_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/nan_test.png" border="0" alt="nan_test"/></a> + +<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo.png" border="0" alt="newscalarformatter_demo"/></a> + +<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo_01.png" border="0" alt="newscalarformatter_demo"/></a> + +<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo_02.png" border="0" alt="newscalarformatter_demo"/></a> + +<a href="examples/pylab_examples/newscalarformatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/newscalarformatter_demo_03.png" border="0" alt="newscalarformatter_demo"/></a> + +<a href="examples/pylab_examples/pcolor_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pcolor_demo.png" border="0" alt="pcolor_demo"/></a> + +<a href="examples/pylab_examples/pcolor_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pcolor_demo2.png" border="0" alt="pcolor_demo2"/></a> + +<a href="examples/pylab_examples/pcolor_log.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pcolor_log.png" border="0" alt="pcolor_log"/></a> + +<a href="examples/pylab_examples/pcolor_small.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pcolor_small.png" border="0" alt="pcolor_small"/></a> + +<a href="examples/pylab_examples/pie_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pie_demo.png" border="0" alt="pie_demo"/></a> + +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo.png" border="0" alt="plotfile_demo"/></a> + +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_01.png" border="0" alt="plotfile_demo"/></a> + +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_02.png" border="0" alt="plotfile_demo"/></a> + +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_03.png" border="0" alt="plotfile_demo"/></a> + +<a href="examples/pylab_examples/plotfile_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/plotfile_demo_04.png" border="0" alt="plotfile_demo"/></a> + +<a href="examples/pylab_examples/polar_bar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/polar_bar.png" border="0" alt="polar_bar"/></a> + +<a href="examples/pylab_examples/polar_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/polar_demo.png" border="0" alt="polar_demo"/></a> + +<a href="examples/pylab_examples/polar_legend.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/polar_legend.png" border="0" alt="polar_legend"/></a> + +<a href="examples/pylab_examples/polar_scatter.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/polar_scatter.png" border="0" alt="polar_scatter"/></a> + +<a href="examples/pylab_examples/poormans_contour.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/poormans_contour.png" border="0" alt="poormans_contour"/></a> + +<a href="examples/pylab_examples/psd_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/psd_demo.png" border="0" alt="psd_demo"/></a> + +<a href="examples/pylab_examples/pythonic_matplotlib.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/pythonic_matplotlib.png" border="0" alt="pythonic_matplotlib"/></a> + +<a href="examples/pylab_examples/quadmesh_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quadmesh_demo.png" border="0" alt="quadmesh_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_01.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_02.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_03.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_04.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/quiver_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/quiver_demo_05.png" border="0" alt="quiver_demo"/></a> + +<a href="examples/pylab_examples/scatter_custom_symbol.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/scatter_custom_symbol.png" border="0" alt="scatter_custom_symbol"/></a> + +<a href="examples/pylab_examples/scatter_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/scatter_demo.png" border="0" alt="scatter_demo"/></a> + +<a href="examples/pylab_examples/scatter_demo2.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/scatter_demo2.png" border="0" alt="scatter_demo2"/></a> + +<a href="examples/pylab_examples/scatter_masked.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/scatter_masked.png" border="0" alt="scatter_masked"/></a> + +<a href="examples/pylab_examples/scatter_star_poly.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/scatter_star_poly.png" border="0" alt="scatter_star_poly"/></a> + +<a href="examples/pylab_examples/set_and_get.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/set_and_get.png" border="0" alt="set_and_get"/></a> + +<a href="examples/pylab_examples/shared_axis_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/shared_axis_demo.png" border="0" alt="shared_axis_demo"/></a> + +<a href="examples/pylab_examples/simple_plot.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/simple_plot.png" border="0" alt="simple_plot"/></a> + +<a href="examples/pylab_examples/simplification_clipping_test.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/simplification_clipping_test.png" border="0" alt="simplification_clipping_test"/></a> + +<a href="examples/pylab_examples/specgram_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/specgram_demo.png" border="0" alt="specgram_demo"/></a> + +<a href="examples/pylab_examples/spy_demos.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/spy_demos.png" border="0" alt="spy_demos"/></a> + +<a href="examples/pylab_examples/stem_plot.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/stem_plot.png" border="0" alt="stem_plot"/></a> + +<a href="examples/pylab_examples/step_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/step_demo.png" border="0" alt="step_demo"/></a> + +<a href="examples/pylab_examples/stix_fonts_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/stix_fonts_demo.png" border="0" alt="stix_fonts_demo"/></a> + +<a href="examples/pylab_examples/subplot_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_demo.png" border="0" alt="subplot_demo"/></a> + +<a href="examples/pylab_examples/subplot_toolbar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_toolbar.png" border="0" alt="subplot_toolbar"/></a> + +<a href="examples/pylab_examples/subplot_toolbar.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplot_toolbar_01.png" border="0" alt="subplot_toolbar"/></a> + +<a href="examples/pylab_examples/subplots_adjust.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/subplots_adjust.png" border="0" alt="subplots_adjust"/></a> + +<a href="examples/pylab_examples/symlog_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/symlog_demo.png" border="0" alt="symlog_demo"/></a> + +<a href="examples/pylab_examples/table_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/table_demo.png" border="0" alt="table_demo"/></a> + +<a href="examples/pylab_examples/tex_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/tex_demo.png" border="0" alt="tex_demo"/></a> + +<a href="examples/pylab_examples/text_handles.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/text_handles.png" border="0" alt="text_handles"/></a> + +<a href="examples/pylab_examples/text_rotation.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/text_rotation.png" border="0" alt="text_rotation"/></a> + +<a href="examples/pylab_examples/text_themes.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/text_themes.png" border="0" alt="text_themes"/></a> + +<a href="examples/pylab_examples/to_numeric.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/to_numeric.png" border="0" alt="to_numeric"/></a> + +<a href="examples/pylab_examples/toggle_images.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/toggle_images.png" border="0" alt="toggle_images"/></a> + +<a href="examples/pylab_examples/transoffset.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/transoffset.png" border="0" alt="transoffset"/></a> + +<a href="examples/pylab_examples/unicode_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/unicode_demo.png" border="0" alt="unicode_demo"/></a> + +<a href="examples/pylab_examples/usetex_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/usetex_demo.png" border="0" alt="usetex_demo"/></a> + +<a href="examples/pylab_examples/vertical_ticklabels.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/vertical_ticklabels.png" border="0" alt="vertical_ticklabels"/></a> + +<a href="examples/pylab_examples/vline_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/vline_demo.png" border="0" alt="vline_demo"/></a> + +<a href="examples/pylab_examples/xcorr_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/xcorr_demo.png" border="0" alt="xcorr_demo"/></a> + +<a href="examples/pylab_examples/zorder_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/zorder_demo.png" border="0" alt="zorder_demo"/></a> + +<a href="examples/pylab_examples/zorder_demo.html"><img src="_static/plot_directive/mpl_examples/pylab_examples/thumbnails/zorder_demo_01.png" border="0" alt="zorder_demo"/></a> + +<a href="examples/widgets/slider_demo.html"><img src="_static/plot_directive/mpl_examples/widgets/thumbnails/slider_demo.png" border="0" alt="slider_demo"/></a> + +{% endblock %} Added: trunk/matplotlib/doc/_templates/gen_gallery.py =================================================================== --- trunk/matplotlib/doc/_templates/gen_gallery.py (rev 0) +++ trunk/matplotlib/doc/_templates/gen_gallery.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -0,0 +1,91 @@ +# generate a thumbnail gallery of examples +template = """\ +{%% extends "layout.html" %%} +{%% set title = "Thumbnail gallery" %%} + + +{%% block body %%} + +<h3>Click on any image to see full size image and source code</h3> +<br> + +%s +{%% endblock %%} +""" + +import os, glob, re + +multiimage = re.compile('(.*)_\d\d') + +pwd = os.getcwd() +os.chdir('..') + +rootdir = '_static/plot_directive/mpl_examples' + +# images we want to skip for the gallery because they are an unusual +# size that doesn't layout well in a table, or because they may be +# redundant with other images or uninteresting +skips = set([ + 'mathtext_examples', + 'matshow_02', + 'matshow_03', + 'matplotlib_icon', + ]) +data = [] +for subdir in ('api', 'pylab_examples', 'widgets'): + thisdir = os.path.join(rootdir,subdir) + if not os.path.exists(thisdir): + raise RuntimeError('Cannot find %s'%thisdir) + thumbdir = os.path.join(thisdir, 'thumbnails') + if not os.path.exists(thumbdir): + raise RuntimeError('Cannot find thumbnail dir %s'%thumbdir) + #print thumbdir + + # we search for pdfs here because there is one pdf for each + # successful image build (2 pngs since one is high res) and the + # mapping between py files and images is 1->many + for pdffile in sorted(glob.glob(os.path.join(thisdir, '*.pdf'))): + basepath, filename = os.path.split(pdffile) + basename, ext = os.path.splitext(filename) + print 'generating', subdir, basename + + if basename in skips: + print ' skipping', basename + continue + pngfile = os.path.join(thisdir, '%s.png'%basename) + thumbfile = os.path.join(thumbdir, '%s.png'%basename) + if not os.path.exists(pngfile): + pngfile = None + if not os.path.exists(thumbfile): + thumbfile = None + + m = multiimage.match(basename) + if m is None: + pyfile = '%s.py'%basename + else: + basename = m.group(1) + pyfile = '%s.py'%basename + + print ' ', pyfile, filename, basename, ext + + print ' ', pyfile, pngfile, thumbfile + data.append((subdir, thisdir, pyfile, basename, pngfile, thumbfile)) + +link_template = """\ +<a href="%s"><img src="%s" border="0" alt="%s"/></a> +""" + + +rows = [] +for (subdir, thisdir, pyfile, basename, pngfile, thumbfile) in data: + if thumbfile is not None: + link = 'examples/%s/%s.html'%(subdir, basename) + rows.append(link_template%(link, thumbfile, basename)) + + + +os.chdir(pwd) +fh = file('gallery.html', 'w') +fh.write(template%'\n'.join(rows)) +fh.close() + Modified: trunk/matplotlib/doc/_templates/index.html =================================================================== --- trunk/matplotlib/doc/_templates/index.html 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/_templates/index.html 2008-10-21 14:52:59 UTC (rev 6287) @@ -15,9 +15,9 @@ <p>matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, - errorcharts, scatterplots, etc, with just a few lines of code. - For a sampling, see the <a href="{{ pathto('users/screenshots') }}">screenshots</a> and -<a href="examples/index.html">examples</a></p> + errorcharts, scatterplots, etc, with just a few lines of code. + For a sampling, see the <a href="{{ pathto('users/screenshots') }}">screenshots</a>, <a href="{{ pathto('gallery') }}">thumbnail gallery</a>, and +<a href="examples/index.html">examples</a> directory</p> <p align="center"><a href="{{ pathto('users/screenshots') }}"><img align="middle" src="{{ pathto('_static/logo_sidebar_horiz.png', 1) }}" border="0" @@ -35,7 +35,7 @@ <p>For the power user, you have full control of line styles, font properties, axes properties, etc, via an object oriented interface - or via a handle graphics interface familiar to Matlab® users. + or via a handle graphics interface familiar to Matlab® users. The plotting functions in the <a href="api/pyplot_api.html">pyplot</a> interface have a high degree of Matlab® compatibility.</p> Modified: trunk/matplotlib/doc/_templates/layout.html =================================================================== --- trunk/matplotlib/doc/_templates/layout.html 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/_templates/layout.html 2008-10-21 14:52:59 UTC (rev 6287) @@ -3,6 +3,7 @@ {% block rootrellink %} <li><a href="{{ pathto('index') }}">matplotlib home</a>| </li> <li><a href="{{ pathto('search') }}">search</a>| </li> + <li><a href="{{ pathto('gallery') }}">gallery</a>| </li> <li><a href="{{ pathto('contents') }}">documentation </a> »</li> {% endblock %} Modified: trunk/matplotlib/doc/conf.py =================================================================== --- trunk/matplotlib/doc/conf.py 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/conf.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -123,7 +123,7 @@ # Additional templates that should be rendered to pages, maps page names to # template names. -html_additional_pages = {'index': 'index.html'} +html_additional_pages = {'index': 'index.html', 'gallery':'gallery.html'} # If false, no module index is generated. #html_use_modindex = True Modified: trunk/matplotlib/doc/devel/coding_guide.rst =================================================================== --- trunk/matplotlib/doc/devel/coding_guide.rst 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/devel/coding_guide.rst 2008-10-21 14:52:59 UTC (rev 6287) @@ -352,7 +352,35 @@ "single entry point" requirement above -- see the ``artist.kwdocd['Patch']`` setting in :mod:`matplotlib.patches`. +.. _custom_backend: +Developing a new backend +======================== + +If you are working on a custom backend, the *backend* setting in +:file:`matplotlibrc` (:ref:`customizing-matplotlib`) supports an +external backend via the ``module`` directive. if +:file:`my_backend.py` is a matplotlib backend in your +:envvar:`PYTHONPATH`, you can set use it on one of several ways + +* in matplotlibrc:: + + backend : module://my_backend + +* with the use directive is your script:: + + import matplotlib + matplotlib.use('module://my_backend') + +* from the command shell with the -d flag:: + + > python simple_plot.py -d module://my_backend + + + + + + .. _license-discussion: Licenses Modified: trunk/matplotlib/doc/examples/gen_rst.py =================================================================== --- trunk/matplotlib/doc/examples/gen_rst.py 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/examples/gen_rst.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -3,8 +3,6 @@ """ import os, glob -import matplotlib.cbook as cbook - import os import re import sys @@ -75,9 +73,11 @@ subdirIndexFile = os.path.join(subdir, 'index.rst') fhsubdirIndex = file(subdirIndexFile, 'w') - fhindex.write(' %s\n'%subdirIndexFile) + fhindex.write(' %s\n\n'%subdirIndexFile) + #thumbdir = '../_static/plot_directive/mpl_examples/%s/thumbnails/'%subdir + #for thumbname in glob.glob(os.path.join(thumbdir,'*.png')): + # fhindex.write(' %s\n'%thumbname) - fhsubdirIndex.write("""\ .. _%s-examples-index: @@ -101,15 +101,23 @@ data = datad[subdir] data.sort() - for fullname, fname, contents in data: + + #parts = os.path.split(static_dir) + #thumb_dir = ('../'*(len(parts)-1)) + os.path.join(static_dir, 'thumbnails') + + for fullpath, fname, contents in data: + basename, ext = os.path.splitext(fname) static_file = os.path.join(static_dir, fname) - basename, ext = os.path.splitext(fname) + #thumbfile = os.path.join(thumb_dir, '%s.png'%basename) + #print ' static_dir=%s, basename=%s, fullpath=%s, fname=%s, thumb_dir=%s, thumbfile=%s'%(static_dir, basename, fullpath, fname, thumb_dir, thumbfile) + rstfile = '%s.rst'%basename outfile = os.path.join(subdir, rstfile) + fhsubdirIndex.write(' %s\n'%rstfile) - if (not out_of_date(fullname, static_file) and - not out_of_date(fullname, outfile)): + if (not out_of_date(fullpath, static_file) and + not out_of_date(fullpath, outfile)): continue print ' %s'%fname @@ -121,7 +129,9 @@ fh = file(outfile, 'w') fh.write('.. _%s-%s:\n\n'%(subdir, basename)) title = '%s example code: %s'%(subdir, fname) + #title = '<img src=%s> %s example code: %s'%(thumbfile, subdir, fname) + fh.write(title + '\n') fh.write('='*len(title) + '\n\n') @@ -131,7 +141,7 @@ not noplot_regex.search(contents)) if do_plot: - fh.write("\n\n.. plot:: %s\n\n::\n\n" % fullname[3:]) + fh.write("\n\n.. plot:: %s\n\n::\n\n" % fullpath[3:]) else: linkname = os.path.join('..', '..', '_static', 'examples', subdir, fname) fh.write("[`source code <%s>`_]\n\n::\n\n" % linkname) Modified: trunk/matplotlib/doc/faq/environment_variables_faq.rst =================================================================== --- trunk/matplotlib/doc/faq/environment_variables_faq.rst 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/faq/environment_variables_faq.rst 2008-10-21 14:52:59 UTC (rev 6287) @@ -1,4 +1,4 @@ -.. _environment-variables: +.. _environment-variablesg: ********************* Environment Variables Modified: trunk/matplotlib/doc/faq/installing_faq.rst =================================================================== --- trunk/matplotlib/doc/faq/installing_faq.rst 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/faq/installing_faq.rst 2008-10-21 14:52:59 UTC (rev 6287) @@ -98,7 +98,7 @@ Checking out the main source:: - svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk matplotlib + svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib matplotlib and build and install as usual with:: Modified: trunk/matplotlib/doc/make.py =================================================================== --- trunk/matplotlib/doc/make.py 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/make.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -17,7 +17,7 @@ def sf(): 'push a copy to the sf site' os.system('cd build/html; rsync -avz . jdh2358,mat...@we...:/home/groups/m/ma/matplotlib/htdocs/ -essh --cvs-exclude') - # we are now doing this in the doc/examples build + # we are now doing this in the doc/examples build #os.system('cd ~/mpl/examples; svn-clean; cd ..; rsync -avz examples jdh2358,mat...@we...:/home/groups/m/ma/matplotlib/htdocs/ -essh --cvs-exclude --delete') def sfpdf(): @@ -29,8 +29,15 @@ def examples(): 'make the rest examples' + os.system('cd examples; svn-clean; python gen_rst.py') + #pass +def gallery(): + 'make the thumbnail gallery' + os.system('cd _templates; python gen_gallery.py') + + def html(): check_build() if not os.path.exists('examples/index.rst'): @@ -44,6 +51,10 @@ shutil.rmtree(figures_dest_path) shutil.copytree('pyplots', figures_dest_path) + # rebuild the gallery + gallery() + print 'Just rebuilt gallery, you may need to make html again' + def latex(): check_build() #figs() @@ -77,15 +88,17 @@ latex() -funcd = {'figs':figs, - 'html':html, - 'latex':latex, - 'clean':clean, - 'sf':sf, - 'sfpdf':sfpdf, - 'examples':examples, - 'all':all, - } +funcd = { + 'figs' : figs, + 'html' : html, + 'latex' : latex, + 'clean' : clean, + 'sf' : sf, + 'sfpdf' : sfpdf, + 'examples' : examples, + 'gallery' : gallery, + 'all' : all, + } if len(sys.argv)>1: Modified: trunk/matplotlib/doc/sphinxext/mathmpl.py =================================================================== --- trunk/matplotlib/doc/sphinxext/mathmpl.py 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/sphinxext/mathmpl.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -114,10 +114,14 @@ inline = isinstance(node.parent, nodes.TextElement) latex = node['latex'] name = 'math-%s' % md5(latex).hexdigest()[-10:] - dest = '_static/%s.png' % name + + destdir = os.path.join('_static', 'mathmpl') + if not os.path.exists(destdir): + os.makedirs(destdir) + dest = os.path.join(destdir, '%s.png' % name) depth = latex2png(latex, dest, node['fontset']) - path = '_static' + path = destdir count = source.split('/doc/')[-1].count('/') for i in range(count): if os.path.exists(path): break Modified: trunk/matplotlib/doc/sphinxext/plot_directive.py =================================================================== --- trunk/matplotlib/doc/sphinxext/plot_directive.py 2008-10-21 14:36:53 UTC (rev 6286) +++ trunk/matplotlib/doc/sphinxext/plot_directive.py 2008-10-21 14:52:59 UTC (rev 6287) @@ -27,6 +27,7 @@ import matplotlib.cbook as cbook matplotlib.use('Agg') import matplotlib.pyplot as plt +import matplotlib.image as image from matplotlib import _pylab_helpers def runfile(fullpath): @@ -58,15 +59,15 @@ template = """ .. htmlonly:: - [`source code <%(destdir)s/%(basename)s.py>`__, - `png <%(destdir)s/%(outname)s.hires.png>`__, - `pdf <%(destdir)s/%(outname)s.pdf>`__] + [`source code <%(linkdir)s/%(basename)s.py>`__, + `png <%(linkdir)s/%(outname)s.hires.png>`__, + `pdf <%(linkdir)s/%(outname)s.pdf>`__] - .. image:: %(destdir)s/%(outname)s.png + .. image:: %(linkdir)s/%(outname)s.png %(options)s .. latexonly:: - .. image:: %(destdir)s/%(outname)s.pdf + .. image:: %(linkdir)s/%(outname)s.pdf %(options)s """ @@ -74,7 +75,7 @@ exception_template = """ .. htmlonly:: - [`source code <%(destdir)s/%(basename)s.py>`__] + [`source code <%(linkdir)s/%(basename)s.py>`__] Exception occurred rendering plot. @@ -95,7 +96,9 @@ """ fullpath = str(fullpath) # todo, why is unicode breaking this - formats = [('png',... [truncated message content] |
From: <jd...@us...> - 2008-10-21 14:37:02
|
Revision: 6286 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6286&view=rev Author: jdh2358 Date: 2008-10-21 14:36:53 +0000 (Tue, 21 Oct 2008) Log Message: ----------- fixed rcsetup to respect external module backends Modified Paths: -------------- trunk/matplotlib/examples/misc/image_thumbnail.py trunk/matplotlib/lib/matplotlib/image.py trunk/matplotlib/lib/matplotlib/rcsetup.py Modified: trunk/matplotlib/examples/misc/image_thumbnail.py =================================================================== --- trunk/matplotlib/examples/misc/image_thumbnail.py 2008-10-20 20:54:24 UTC (rev 6285) +++ trunk/matplotlib/examples/misc/image_thumbnail.py 2008-10-21 14:36:53 UTC (rev 6286) @@ -13,7 +13,7 @@ print 'Usage: python %s IMAGEDIR'%__file__ raise SystemExit indir = sys.argv[1] -if not os.path.exists(indir): +if not os.path.isdir(indir): print 'Could not find input directory "%s"'%indir raise SystemExit Modified: trunk/matplotlib/lib/matplotlib/image.py =================================================================== --- trunk/matplotlib/lib/matplotlib/image.py 2008-10-20 20:54:24 UTC (rev 6285) +++ trunk/matplotlib/lib/matplotlib/image.py 2008-10-21 14:36:53 UTC (rev 6286) @@ -846,22 +846,17 @@ else: if extension=='png': from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas - from matplotlib.figure import Figure elif extension=='pdf': from matplotlib.backends.backend_pdf import FigureCanvasPDF as FigureCanvas - from matplotlib.figure import Figure elif extension=='svg': from matplotlib.backends.backend_svg import FigureCanvasSVG as FigureCanvas - from matplotlib.figure import Figure else: raise ValueError("Can only handle extension 'png', 'svg' or 'pdf'") + from matplotlib.figure import Figure fig = Figure(figsize=(width, height), dpi=dpi) canvas = FigureCanvas(fig) - - - ax = fig.add_axes([0,0,1,1], aspect='auto', frameon=False, xticks=[], yticks=[]) basename, ext = os.path.splitext(basename) Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py =================================================================== --- trunk/matplotlib/lib/matplotlib/rcsetup.py 2008-10-20 20:54:24 UTC (rev 6285) +++ trunk/matplotlib/lib/matplotlib/rcsetup.py 2008-10-21 14:36:53 UTC (rev 6286) @@ -100,7 +100,11 @@ raise ValueError('Supported Postscript/PDF font types are %s' % fonttypes.values()) return fonttype -validate_backend = ValidateInStrings('backend', all_backends, ignorecase=True) +#validate_backend = ValidateInStrings('backend', all_backends, ignorecase=True) +_validate_standard_backends = ValidateInStrings('backend', all_backends, ignorecase=True) +def validate_backend(s): + if s.startswith('module://'): return s + else: return _validate_standard_backends(s) validate_numerix = ValidateInStrings('numerix',[ 'Numeric','numarray','numpy', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |