From: <md...@us...> - 2009-09-09 14:47:23
|
Revision: 7724 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7724&view=rev Author: mdboom Date: 2009-09-09 14:47:09 +0000 (Wed, 09 Sep 2009) Log Message: ----------- Merged revisions 7483,7485,7487-7488,7491-7497,7503-7505,7507-7508,7510-7513,7515-7516,7518,7520,7524-7527,7531-7532,7534-7535,7537-7540,7542-7551,7568,7570,7578-7581,7585-7587,7590-7597,7599,7601-7606,7608-7615,7619-7625,7627-7632,7634-7637,7641-7702,7704-7706,7710-7716,7718-7723 via svnmerge from https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib Modified Paths: -------------- branches/mathtex/CHANGELOG branches/mathtex/CXX/IndirectPythonInterface.hxx branches/mathtex/Makefile branches/mathtex/agg24/include/agg_basics.h branches/mathtex/boilerplate.py branches/mathtex/doc/_templates/indexsidebar.html branches/mathtex/doc/_templates/layout.html branches/mathtex/doc/api/index_backend_api.rst branches/mathtex/doc/devel/coding_guide.rst branches/mathtex/doc/devel/documenting_mpl.rst branches/mathtex/doc/devel/release_guide.rst branches/mathtex/doc/faq/howto_faq.rst branches/mathtex/doc/faq/installing_faq.rst branches/mathtex/doc/sphinxext/gen_gallery.py branches/mathtex/doc/sphinxext/gen_rst.py branches/mathtex/doc/users/artists.rst branches/mathtex/doc/users/event_handling.rst branches/mathtex/doc/users/index.rst branches/mathtex/doc/users/index_text.rst branches/mathtex/doc/users/installing.rst branches/mathtex/doc/users/license.rst branches/mathtex/doc/users/navigation_toolbar.rst branches/mathtex/doc/users/shell.rst branches/mathtex/doc/users/whats_new.rst branches/mathtex/examples/event_handling/pipong.py branches/mathtex/examples/event_handling/pong_gtk.py branches/mathtex/examples/event_handling/pong_qt.py branches/mathtex/examples/event_handling/viewlims.py branches/mathtex/examples/pylab_examples/barb_demo.py branches/mathtex/examples/pylab_examples/multi_image.py branches/mathtex/examples/pylab_examples/shading_example.py branches/mathtex/examples/units/annotate_with_units.py branches/mathtex/examples/units/bar_demo2.py branches/mathtex/examples/units/radian_demo.py branches/mathtex/lib/matplotlib/__init__.py branches/mathtex/lib/matplotlib/_cm.py branches/mathtex/lib/matplotlib/artist.py branches/mathtex/lib/matplotlib/axes.py branches/mathtex/lib/matplotlib/axis.py branches/mathtex/lib/matplotlib/backend_bases.py branches/mathtex/lib/matplotlib/backends/backend_agg.py branches/mathtex/lib/matplotlib/backends/backend_emf.py branches/mathtex/lib/matplotlib/backends/backend_macosx.py branches/mathtex/lib/matplotlib/backends/backend_mixed.py branches/mathtex/lib/matplotlib/backends/backend_pdf.py branches/mathtex/lib/matplotlib/backends/backend_ps.py branches/mathtex/lib/matplotlib/backends/backend_svg.py branches/mathtex/lib/matplotlib/bezier.py branches/mathtex/lib/matplotlib/blocking_input.py branches/mathtex/lib/matplotlib/cbook.py branches/mathtex/lib/matplotlib/cm.py branches/mathtex/lib/matplotlib/collections.py branches/mathtex/lib/matplotlib/colorbar.py branches/mathtex/lib/matplotlib/colors.py branches/mathtex/lib/matplotlib/config/mplconfig.py branches/mathtex/lib/matplotlib/config/rcsetup.py branches/mathtex/lib/matplotlib/dates.py branches/mathtex/lib/matplotlib/figure.py branches/mathtex/lib/matplotlib/image.py branches/mathtex/lib/matplotlib/legend.py branches/mathtex/lib/matplotlib/lines.py branches/mathtex/lib/matplotlib/mlab.py branches/mathtex/lib/matplotlib/offsetbox.py branches/mathtex/lib/matplotlib/patches.py branches/mathtex/lib/matplotlib/projections/geo.py branches/mathtex/lib/matplotlib/projections/polar.py branches/mathtex/lib/matplotlib/pyplot.py branches/mathtex/lib/matplotlib/quiver.py branches/mathtex/lib/matplotlib/rcsetup.py branches/mathtex/lib/matplotlib/scale.py branches/mathtex/lib/matplotlib/spines.py branches/mathtex/lib/matplotlib/table.py branches/mathtex/lib/matplotlib/text.py branches/mathtex/lib/matplotlib/ticker.py branches/mathtex/lib/matplotlib/transforms.py branches/mathtex/lib/matplotlib/units.py branches/mathtex/lib/mpl_toolkits/axes_grid/axislines.py branches/mathtex/lib/mpl_toolkits/axes_grid/inset_locator.py branches/mathtex/matplotlibrc.template branches/mathtex/release/osx/Makefile branches/mathtex/setup.py branches/mathtex/setupegg.py branches/mathtex/setupext.py branches/mathtex/src/_backend_agg.cpp branches/mathtex/src/_backend_agg.h branches/mathtex/src/_macosx.m branches/mathtex/src/ft2font.cpp branches/mathtex/src/ft2font.h branches/mathtex/test/README.txt branches/mathtex/test/matplotlibrc Added Paths: ----------- branches/mathtex/examples/axes_grid/demo_axisline_style.py branches/mathtex/examples/event_handling/looking_glass.py branches/mathtex/examples/event_handling/resample.py branches/mathtex/examples/pylab_examples/demo_agg_filter.py branches/mathtex/lib/matplotlib/testing/ branches/mathtex/lib/matplotlib/testing/jpl_units/ branches/mathtex/lib/matplotlib/tests/ branches/mathtex/lib/matplotlib/tests/baseline_images/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_axes/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_dates/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_image/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_spines/ Removed Paths: ------------- branches/mathtex/bootstrap.py branches/mathtex/buildout.cfg branches/mathtex/doc/users/annotations.rst branches/mathtex/doc/users/plotting/annotation.rst branches/mathtex/doc/users/plotting/legend.rst branches/mathtex/lib/matplotlib/testing/jpl_units/ branches/mathtex/lib/matplotlib/tests/baseline_images/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_axes/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_dates/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_image/ branches/mathtex/lib/matplotlib/tests/baseline_images/test_spines/ branches/mathtex/test/consolidate_diff_images.sh branches/mathtex/test/mplTest/ branches/mathtex/test/run-mpl-test.py branches/mathtex/test/test_artists/ branches/mathtex/test/test_backends/ branches/mathtex/test/test_basemap/ branches/mathtex/test/test_cxx/ branches/mathtex/test/test_mathtext/ branches/mathtex/test/test_matplotlib/ branches/mathtex/test/test_numerix/ branches/mathtex/test/test_plots/ branches/mathtex/test/test_pylab/ branches/mathtex/test/test_transforms/ Property Changed: ---------------- branches/mathtex/ branches/mathtex/doc/pyplots/README branches/mathtex/doc/sphinxext/gen_gallery.py branches/mathtex/doc/sphinxext/gen_rst.py branches/mathtex/examples/misc/multiprocess.py branches/mathtex/examples/mplot3d/contour3d_demo.py branches/mathtex/examples/mplot3d/contourf3d_demo.py branches/mathtex/examples/mplot3d/polys3d_demo.py branches/mathtex/examples/mplot3d/scatter3d_demo.py branches/mathtex/examples/mplot3d/surface3d_demo.py branches/mathtex/examples/mplot3d/wire3d_demo.py branches/mathtex/lib/matplotlib/sphinxext/mathmpl.py branches/mathtex/lib/matplotlib/sphinxext/only_directives.py branches/mathtex/lib/matplotlib/sphinxext/plot_directive.py Property changes on: branches/mathtex ___________________________________________________________________ Modified: svnmerge-integrated - /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7478 + /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7723 Modified: svn:mergeinfo - /branches/v0_91_maint:5753-5771 /branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446 /trunk/matplotlib:7265-7303,7308-7317,7321,7339-7478 + /branches/v0_91_maint:5753-5771 /branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703 /trunk/matplotlib:7265-7303,7308-7317,7321,7339-7478,7483-7723 Modified: branches/mathtex/CHANGELOG =================================================================== --- branches/mathtex/CHANGELOG 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/CHANGELOG 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,3 +1,28 @@ +2009-09-07 AxesGrid : implemented axisline style. + Added a demo examples/axes_grid/demo_axisline_style.py- JJL + +2009-09-04 Make the textpath class as a separate moduel + (textpath.py). Add support for mathtext and tex.- JJL + +2009-09-01 Added support for Gouraud interpolated triangles. + pcolormesh now accepts shading='gouraud' as an option. - MGD + +2009-08-29 Added matplotlib.testing package, which contains a Nose + plugin and a decorator that lets tests be marked as + KnownFailures - ADS + +2009-08-20 Added scaled dict to AutoDateFormatter for customized + scales - JDH + +2009-08-15 Pyplot interface: the current image is now tracked at the + figure and axes level, addressing tracker item 1656374. - EF + +2009-08-15 Docstrings are now manipulated with decorators defined + in a new module, docstring.py, thanks to Jason Coombs. - EF + +2009-08-14 Add support for image filtering for agg back end. See the example + demo_agg_filter.py. -JJL + 2009-08-09 AnnotationBbox added. Similar to Annotation, but works with OffsetBox instead of Text. See the example demo_annotation_box.py. -JJL Modified: branches/mathtex/CXX/IndirectPythonInterface.hxx =================================================================== --- branches/mathtex/CXX/IndirectPythonInterface.hxx 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/CXX/IndirectPythonInterface.hxx 2009-09-09 14:47:09 UTC (rev 7724) @@ -193,6 +193,6 @@ void _XDECREF( PyObject *op ); char *__Py_PackageContext(); -}; +} #endif // __CXX_INDIRECT_PYTHON_INTERFACE__HXX__ Modified: branches/mathtex/Makefile =================================================================== --- branches/mathtex/Makefile 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/Makefile 2009-09-09 14:47:09 UTC (rev 7724) @@ -28,10 +28,13 @@ tar cvfz pyback.tar.gz *.py lib src examples/*.py unit/*.py -build_osx105: +_build_osx105: CFLAGS="-Os -arch i386 -arch ppc" LDFLAGS="-Os -arch i386 -arch ppc" python setup.py build +build_osx105: + echo "Use 'make -f fetch deps mpl_install instead'" + jdh_doc_snapshot: svn up;\ python setup.py install --prefix=~/dev;\ Modified: branches/mathtex/agg24/include/agg_basics.h =================================================================== --- branches/mathtex/agg24/include/agg_basics.h 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/agg24/include/agg_basics.h 2009-09-09 14:47:09 UTC (rev 7724) @@ -2,8 +2,8 @@ // Anti-Grain Geometry - Version 2.4 // Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com) // -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. +// Permission to copy, use, modify, sell and distribute this software +// is granted provided this copyright notice appears in all copies. // This software is provided "as is" without express or implied // warranty, and with no claim as to its suitability for any purpose. // @@ -25,12 +25,12 @@ #else namespace agg { - // The policy of all AGG containers and memory allocation strategy + // The policy of all AGG containers and memory allocation strategy // in general is that no allocated data requires explicit construction. // It means that the allocator can be really simple; you can even - // replace new/delete to malloc/free. The constructors and destructors - // won't be called in this case, however everything will remain working. - // The second argument of deallocate() is the size of the allocated + // replace new/delete to malloc/free. The constructors and destructors + // won't be called in this case, however everything will remain working. + // The second argument of deallocate() is the size of the allocated // block. You can use this information if you wish. //------------------------------------------------------------pod_allocator template<class T> struct pod_allocator @@ -40,8 +40,8 @@ }; // Single object allocator. It's also can be replaced with your custom - // allocator. The difference is that it can only allocate a single - // object and the constructor and destructor must be called. + // allocator. The difference is that it can only allocate a single + // object and the constructor and destructor must be called. // In AGG there is no need to allocate an array of objects with // calling their constructors (only single ones). So that, if you // replace these new/delete to malloc/free make sure that the in-place @@ -213,23 +213,23 @@ enum cover_scale_e { cover_shift = 8, //----cover_shift - cover_size = 1 << cover_shift, //----cover_size - cover_mask = cover_size - 1, //----cover_mask - cover_none = 0, //----cover_none - cover_full = cover_mask //----cover_full + cover_size = 1 << cover_shift, //----cover_size + cover_mask = cover_size - 1, //----cover_mask + cover_none = 0, //----cover_none + cover_full = cover_mask //----cover_full }; //----------------------------------------------------poly_subpixel_scale_e - // These constants determine the subpixel accuracy, to be more precise, - // the number of bits of the fractional part of the coordinates. + // These constants determine the subpixel accuracy, to be more precise, + // the number of bits of the fractional part of the coordinates. // The possible coordinate capacity in bits can be calculated by formula: // sizeof(int) * 8 - poly_subpixel_shift, i.e, for 32-bit integers and // 8-bits fractional part the capacity is 24 bits. enum poly_subpixel_scale_e { poly_subpixel_shift = 8, //----poly_subpixel_shift - poly_subpixel_scale = 1<<poly_subpixel_shift, //----poly_subpixel_scale - poly_subpixel_mask = poly_subpixel_scale-1, //----poly_subpixel_mask + poly_subpixel_scale = 1<<poly_subpixel_shift, //----poly_subpixel_scale + poly_subpixel_mask = poly_subpixel_scale-1 //----poly_subpixel_mask }; //----------------------------------------------------------filling_rule_e @@ -253,7 +253,7 @@ { return rad * 180.0 / pi; } - + //----------------------------------------------------------------rect_base template<class T> struct rect_base { @@ -265,9 +265,9 @@ rect_base(T x1_, T y1_, T x2_, T y2_) : x1(x1_), y1(y1_), x2(x2_), y2(y2_) {} - void init(T x1_, T y1_, T x2_, T y2_) + void init(T x1_, T y1_, T x2_, T y2_) { - x1 = x1_; y1 = y1_; x2 = x2_; y2 = y2_; + x1 = x1_; y1 = y1_; x2 = x2_; y2 = y2_; } const self_type& normalize() @@ -299,17 +299,17 @@ }; //-----------------------------------------------------intersect_rectangles - template<class Rect> + template<class Rect> inline Rect intersect_rectangles(const Rect& r1, const Rect& r2) { Rect r = r1; - // First process x2,y2 because the other order - // results in Internal Compiler Error under - // Microsoft Visual C++ .NET 2003 69462-335-0000007-18038 in + // First process x2,y2 because the other order + // results in Internal Compiler Error under + // Microsoft Visual C++ .NET 2003 69462-335-0000007-18038 in // case of "Maximize Speed" optimization option. //----------------- - if(r.x2 > r2.x2) r.x2 = r2.x2; + if(r.x2 > r2.x2) r.x2 = r2.x2; if(r.y2 > r2.y2) r.y2 = r2.y2; if(r.x1 < r2.x1) r.x1 = r2.x1; if(r.y1 < r2.y1) r.y1 = r2.y1; @@ -318,7 +318,7 @@ //---------------------------------------------------------unite_rectangles - template<class Rect> + template<class Rect> inline Rect unite_rectangles(const Rect& r1, const Rect& r2) { Rect r = r1; @@ -336,26 +336,26 @@ //---------------------------------------------------------path_commands_e enum path_commands_e { - path_cmd_stop = 0, //----path_cmd_stop - path_cmd_move_to = 1, //----path_cmd_move_to - path_cmd_line_to = 2, //----path_cmd_line_to - path_cmd_curve3 = 3, //----path_cmd_curve3 - path_cmd_curve4 = 4, //----path_cmd_curve4 + path_cmd_stop = 0, //----path_cmd_stop + path_cmd_move_to = 1, //----path_cmd_move_to + path_cmd_line_to = 2, //----path_cmd_line_to + path_cmd_curve3 = 3, //----path_cmd_curve3 + path_cmd_curve4 = 4, //----path_cmd_curve4 path_cmd_curveN = 5, //----path_cmd_curveN path_cmd_catrom = 6, //----path_cmd_catrom path_cmd_ubspline = 7, //----path_cmd_ubspline path_cmd_end_poly = 0x0F, //----path_cmd_end_poly - path_cmd_mask = 0x0F //----path_cmd_mask + path_cmd_mask = 0x0F //----path_cmd_mask }; //------------------------------------------------------------path_flags_e enum path_flags_e { - path_flags_none = 0, //----path_flags_none - path_flags_ccw = 0x10, //----path_flags_ccw - path_flags_cw = 0x20, //----path_flags_cw + path_flags_none = 0, //----path_flags_none + path_flags_ccw = 0x10, //----path_flags_ccw + path_flags_cw = 0x20, //----path_flags_cw path_flags_close = 0x40, //----path_flags_close - path_flags_mask = 0xF0 //----path_flags_mask + path_flags_mask = 0xF0 //----path_flags_mask }; //---------------------------------------------------------------is_vertex @@ -372,7 +372,7 @@ //-----------------------------------------------------------------is_stop inline bool is_stop(unsigned c) - { + { return c == path_cmd_stop; } @@ -416,7 +416,7 @@ inline bool is_close(unsigned c) { return (c & ~(path_flags_cw | path_flags_ccw)) == - (path_cmd_end_poly | path_flags_close); + (path_cmd_end_poly | path_flags_close); } //------------------------------------------------------------is_next_poly @@ -440,19 +440,19 @@ //-------------------------------------------------------------is_oriented inline bool is_oriented(unsigned c) { - return (c & (path_flags_cw | path_flags_ccw)) != 0; + return (c & (path_flags_cw | path_flags_ccw)) != 0; } //---------------------------------------------------------------is_closed inline bool is_closed(unsigned c) { - return (c & path_flags_close) != 0; + return (c & path_flags_close) != 0; } //----------------------------------------------------------get_close_flag inline unsigned get_close_flag(unsigned c) { - return c & path_flags_close; + return c & path_flags_close; } //-------------------------------------------------------clear_orientation @@ -513,7 +513,7 @@ int x1, x2; const T* ptr; const_row_info() {} - const_row_info(int x1_, int x2_, const T* ptr_) : + const_row_info(int x1_, int x2_, const T* ptr_) : x1(x1_), x2(x2_), ptr(ptr_) {} }; Modified: branches/mathtex/boilerplate.py =================================================================== --- branches/mathtex/boilerplate.py 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/boilerplate.py 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,5 +1,5 @@ # Wrap the plot commands defined in axes. The code generated by this -# file is pasted into pylab.py. We did try to do this the smart way, +# file is pasted into pyplot.py. We did try to do this the smart way, # with callable functions and new.function, but could never get the # docstrings right for python2.2. See # http://groups.google.com/group/comp.lang.python/browse_frm/thread/dcd63ec13096a0f6/1b14640f3a4ad3dc?#1b14640f3a4ad3dc @@ -13,13 +13,14 @@ import types # import the local copy of matplotlib, not the installed one -sys.path.insert(0, './lib') +#sys.path.insert(0, './lib') from matplotlib.axes import Axes from matplotlib.cbook import dedent _fmtplot = """\ # This function was autogenerated by boilerplate.py. Do not edit as # changes will be lost +@autogen_docstring(Axes.%(func)s) def %(func)s(%(argspec)s): %(ax)s = gca() # allow callers to override the hold state by passing hold=True|False @@ -34,19 +35,16 @@ %(ax)s.hold(%(washold)s) %(mappable)s return %(ret)s -if Axes.%(func)s.__doc__ is not None: - %(func)s.__doc__ = dedent(Axes.%(func)s.__doc__) + __docstring_addendum """ _fmtmisc = """\ # This function was autogenerated by boilerplate.py. Do not edit as # changes will be lost +...@do...py_dedent(Axes.%(func)s) def %(func)s(%(argspec)s): %(ret)s = gca().%(func)s(%(call)s) draw_if_interactive() return %(ret)s -if Axes.%(func)s.__doc__ is not None: - %(func)s.__doc__ = dedent(Axes.%(func)s.__doc__) """ # these methods are all simple wrappers of Axes methods by the same @@ -106,16 +104,16 @@ ) cmappable = { - 'contour' : 'if %(ret)s._A is not None: gci._current = %(ret)s', - 'contourf': 'if %(ret)s._A is not None: gci._current = %(ret)s', - 'hexbin' : 'gci._current = %(ret)s', - 'scatter' : 'gci._current = %(ret)s', - 'pcolor' : 'gci._current = %(ret)s', - 'pcolormesh' : 'gci._current = %(ret)s', - 'imshow' : 'gci._current = %(ret)s', - 'spy' : 'gci._current = %(ret)s', - 'quiver' : 'gci._current = %(ret)s', - 'specgram' : 'gci._current = %(ret)s[-1]', + 'contour' : 'if %(ret)s._A is not None: sci(%(ret)s)', + 'contourf': 'if %(ret)s._A is not None: sci(%(ret)s)', + 'hexbin' : 'sci(%(ret)s)', + 'scatter' : 'sci(%(ret)s)', + 'pcolor' : 'sci(%(ret)s)', + 'pcolormesh': 'sci(%(ret)s)', + 'imshow' : 'sci(%(ret)s)', + 'spy' : 'sci(%(ret)s)', + 'quiver' : 'sci(%(ret)s)', + 'specgram' : 'sci(%(ret)s[-1])', } @@ -235,3 +233,4 @@ # add all the colormaps (autumn, hsv, ....) for name in cmaps: print _fmtcmap%locals() + Deleted: branches/mathtex/bootstrap.py =================================================================== --- branches/mathtex/bootstrap.py 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/bootstrap.py 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,52 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Corporation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -"""Bootstrap a buildout-based project - -Simply run this script in a directory containing a buildout.cfg. -The script accepts buildout command-line options, so you can -use the -c option to specify an alternate configuration file. - -$Id$ -""" - -import os, shutil, sys, tempfile, urllib2 - -tmpeggs = tempfile.mkdtemp() - -ez = {} -exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' - ).read() in ez -ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) - -import pkg_resources - -cmd = 'from setuptools.command.easy_install import main; main()' -if sys.platform == 'win32': - cmd = '"%s"' % cmd # work around spawn lamosity on windows - -ws = pkg_resources.working_set -assert os.spawnle( - os.P_WAIT, sys.executable, sys.executable, - '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout', - dict(os.environ, - PYTHONPATH= - ws.find(pkg_resources.Requirement.parse('setuptools')).location - ), - ) == 0 - -ws.add_entry(tmpeggs) -ws.require('zc.buildout') -import zc.buildout.buildout -zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap']) -shutil.rmtree(tmpeggs) Deleted: branches/mathtex/buildout.cfg =================================================================== --- branches/mathtex/buildout.cfg 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/buildout.cfg 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,31 +0,0 @@ -[buildout] -parts = PIL test python -develop = . -eggs = matplotlib -find-links = http://astraw.com/mpl/ - -[test] -recipe = pbp.recipe.noserunner -# Use Andrew Straw's custom packaging of noserunner with plugin support. -eggs = - pbp.recipe.noserunner==0.2.6.2 - PIL - ${buildout:eggs} -working-directory = ${buildout:directory}/test -initialization = - sys.path.insert(0,'.') - from mplTest import MplNosePlugin -plugins = - MplNosePlugin() - -[python] -recipe = zc.recipe.egg -interpreter = python -eggs = - ${buildout:eggs} - -[PIL] -# This recipe based on http://www.koansys.com/tech/install-plone-with-zopeskel-buildout-needs-pil -# Build egg with Andrew Straw's custom packaging of setuptools-compatibile PIL without Tkinter. -recipe = zc.recipe.egg -egg = PIL==1.1.6 Modified: branches/mathtex/doc/_templates/indexsidebar.html =================================================================== --- branches/mathtex/doc/_templates/indexsidebar.html 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/_templates/indexsidebar.html 2009-09-09 14:47:09 UTC (rev 7724) @@ -8,18 +8,33 @@ pathto('users/installing') }}">installing</a> </p> -<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">video lecture</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>Machine Learning Open Source Software</i></a>. +<p>Build websites like matplotlib's, +with <a href="http://sphinx.pocoo.org/">sphinx</a> and extensions for +mpl plots, math, inheritance diagrams -- try +the <a href="http://matplotlib.sf.net/sampledoc">sampledoc</a> +tutorial. </p> + +<h3>Videos</h3> + +<p>Watch the <a href="http://conference.scipy.org/">SciPy</a> 2009 <a href="http://www.archive.org/details/scipy09_introTutorialDay2_1">intro</a> and <a href="http://www.archive.org/details/scipy09_advancedTutorialDay1_3">advanced</a> matplotlib tutorials +</p> + +<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">talk</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>MLOSS</i></a>. +</p> + + +<h3>Toolkits</h3> + <p>There are several matplotlib addon <a href="{{ pathto('users/toolkits') }}">toolkits</a>, including the projection and mapping toolkit <a href="http://matplotlib.sf.net/basemap/doc/html">basemap</a>, 3d plotting with <a href="{{ -pathto('mpl_toolkits/mplot3d/index') }}">mplot3d</a>, wild and wonderful axes and axis helpers in <a href="{{ +pathto('mpl_toolkits/mplot3d/index') }}">mplot3d</a>, axes and axis helpers in <a href="{{ pathto('mpl_toolkits/axes_grid/index') }}">axes_grid</a> and more. </p> - <h3>Need help?</h3> <p>Check the <a href="{{ pathto('users/index') }}">user guide</a>, @@ -38,7 +53,7 @@ but it is a good idea to ping us on the mailing list too.</p> <p>For details on what's new, see the detailed <a href="{{ -pathto('_static/CHANGELOG', 1) }}">changelog</a>. Anything that could +pathto('_static/CHANGELOG', 1) }}">changelog</a> or browse the <a href="http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/">source code</a>. Anything that could require changes to your existing codes is logged in the <a href="{{ pathto('api/api_changes.html', 1) }}">api changes</a> file.</p> Modified: branches/mathtex/doc/_templates/layout.html =================================================================== --- branches/mathtex/doc/_templates/layout.html 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/_templates/layout.html 2009-09-09 14:47:09 UTC (rev 7724) @@ -2,10 +2,11 @@ {% block rootrellink %} - <li><a href="{{ pathto('index') }}">matplotlib home</a>| </li> + <li><a href="{{ pathto('index') }}">home</a>| </li> <li><a href="{{ pathto('search') }}">search</a>| </li> + <li><a href="http://matplotlib.sf.net/examples/index.html">examples</a>| </li> <li><a href="{{ pathto('gallery') }}">gallery</a>| </li> - <li><a href="{{ pathto('contents') }}">documentation </a> »</li> + <li><a href="{{ pathto('contents') }}">docs</a> »</li> {% endblock %} Modified: branches/mathtex/doc/api/index_backend_api.rst =================================================================== --- branches/mathtex/doc/api/index_backend_api.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/api/index_backend_api.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -8,5 +8,6 @@ backend_gtkagg_api.rst backend_qt4agg_api.rst backend_wxagg_api.rst + backend_pdf_api.rst dviread.rst type1font.rst Modified: branches/mathtex/doc/devel/coding_guide.rst =================================================================== --- branches/mathtex/doc/devel/coding_guide.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/devel/coding_guide.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,4 +1,4 @@ -M.. _coding-guide: +.. _coding-guide: ************ Coding guide @@ -561,9 +561,8 @@ -.. _license-discussion: +.. _sample-data: - Writing examples ================ @@ -602,6 +601,9 @@ print 'datafile', datafile +.. _license-discussion: + + Licenses ======== @@ -669,4 +671,116 @@ extensions for scientific computing: ipython, numpy, scipy, the enthought tool suite and python itself are all distributed under BSD compatible licenses. -> \ No newline at end of file + +Testing +======= + +Matplotlib has a testing infrastructure based on nose_, making it easy +to write new tests. The tests are in :mod:`matplotlib.tests`, and +customizations to the nose testing infrastructure are in +:mod:`matplotlib.testing`. (There is other old testing cruft around, +please ignore it while we consolidate our testing to these locations.) + +.. _nose: http://somethingaboutorange.com/mrl/projects/nose/ + +Running the tests +----------------- + +Running the tests is simple. Make sure you have nose installed and +type from within Python:: + + import matplotlib + matplotlib.test() + +Writing a simple test +--------------------- + +Many elements of Matplotlib can be tested using standard tests. For +example, here is a test from :mod:`matplotlib.tests.test_basic`:: + + from nose.tools import assert_equal + + def test_simple(): + '''very simple example test''' + assert_equal(1+1,2) + +Nose determines which functions are tests by searching for functions +beginning with "test" in their name. + +Writing an image comparison test +-------------------------------- + +Writing an image based test is only slightly more difficult than a +simple test. The main consideration is that you must specify the +"baseline", or expected, images in the +:func:`~matplotlib.testing.decorators.image_comparison` decorator. For +example, this test generates a single image and automatically tests +it:: + + import numpy as np + import matplotlib + from matplotlib.testing.decorators import image_comparison + import matplotlib.pyplot as plt + + @image_comparison(baseline_images=['spines_axes_positions.png']) + def test_spines_axes_positions(): + # SF bug 2852168 + fig = plt.figure() + x = np.linspace(0,2*np.pi,100) + y = 2*np.sin(x) + ax = fig.add_subplot(1,1,1) + ax.set_title('centered spines') + ax.plot(x,y) + ax.spines['right'].set_position(('axes',0.1)) + ax.yaxis.set_ticks_position('right') + ax.spines['top'].set_position(('axes',0.25)) + ax.xaxis.set_ticks_position('top') + ax.spines['left'].set_color('none') + ax.spines['bottom'].set_color('none') + fig.savefig('spines_axes_positions.png') + +The mechanism for comparing images is extremely simple -- it compares +an image saved in the current directory with one from the Matplotlib +sample_data repository. The correspondence is done by matching +filenames, so ensure that: + + * The filename given to :meth:`~matplotlib.figure.Figure.savefig` is + exactly the same as the filename given to + :func:`~matplotlib.testing.decorators.image_comparison` in the + ``baseline_images`` argument. + + * The correct image gets added to the sample_data respository with + the name ``test_baseline_<IMAGE_FILENAME.png>``. (See + :ref:`sample-data` above for a description of how to add files to + the sample_data repository.) + + +Known failing tests +------------------- + +If you're writing a test, you may mark it as a known failing test with +the :func:`~matplotlib.testing.decorators.knownfailureif` +decorator. This allows the test to be added to the test suite and run +on the buildbots without causing undue alarm. For example, although +the following test will fail, it is an expected failure:: + + from nose.tools import assert_equal + from matplotlib.testing.decorators import knownfailureif + + @knownfailureif(True) + def test_simple_fail(): + '''very simple example test that should fail''' + assert_equal(1+1,3) + +Note that the first argument to the +:func:`~matplotlib.testing.decorators.knownfailureif` decorator is a +fail condition, which can be a value such as True, False, or +'indeterminate', or may be a dynamically evaluated expression. + +Creating a new module in matplotlib.tests +----------------------------------------- + +Let's say you've added a new module named +``matplotlib.tests.test_whizbang_features``. To add this module to +the list of default tests, append its name to ``default_test_modules`` +in :file:`lib/matplotlib/__init__.py`. Modified: branches/mathtex/doc/devel/documenting_mpl.rst =================================================================== --- branches/mathtex/doc/devel/documenting_mpl.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/devel/documenting_mpl.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -286,7 +286,7 @@ .. literalinclude:: ../../lib/matplotlib/mpl-data/matplotlibrc -On exception to this is when referring to the examples dir. Relative +One exception to this is when referring to the examples dir. Relative paths are extremely confusing in the sphinx plot extensions, so without getting into the dirty details, it is easier to simply include a symlink to the files at the top doc level directory. This way, API Modified: branches/mathtex/doc/devel/release_guide.rst =================================================================== --- branches/mathtex/doc/devel/release_guide.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/devel/release_guide.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -122,7 +122,7 @@ sftp> put matplotlib-0.98.2.tar.gz Uploading matplotlib-0.98.2.tar.gz to /incoming/j/jd/jdh2358/uploads/matplotlib-0.98.2.tar.gz -* go https://sourceforge.net/project/admin/editpackages.php?group_id=80706 and do a +* go https://sourceforge.net/project/admin/explorer.php?group_id=80706 and do a file release. Click on the "Admin" tab to log in as an admin, and then the "File Releases" tab. Go to the bottom and click "add release" and enter the package name but not the version number in Modified: branches/mathtex/doc/faq/howto_faq.rst =================================================================== --- branches/mathtex/doc/faq/howto_faq.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/faq/howto_faq.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -68,6 +68,35 @@ ax.set_xlabel('volts', alpha=0.5) +.. _howto-multipage: + +Save multiple plots in one pdf file +----------------------------------- + +Many image file formats can only have one image per file, but some +formats support multi-page files. Currently only the pdf backend has +support for this. To make a multi-page pdf file, first initialize the +file:: + + from matplotlib.backends.backend_pdf import PdfPages + pp = PdfPages('multipage.pdf') + +You can give the :class:`~matplotlib.backends.backend_pdf.PdfPages` +object to :func:`~matplotlib.pyplot.savefig`, but you have to specify +the format:: + + savefig(pp, format='pdf') + +A simpler way is to call +:meth:`PdfPages.savefig <matplotlib.backends.backend_pdf.PdfPages.savefig>`:: + + pp.savefig() + +Finally, the multipage pdf object has to be closed:: + + pp.close() + + .. _howto-subplots-adjust: Move the edge of an axes to make room for tick labels @@ -516,8 +545,32 @@ If you have made lots of local changes and do not want to a diff against the entire tree, but rather against a single directory or -file, that is fine, but we do prefer svn diffs against HEAD. +file, that is fine, but we do prefer svn diffs against the top level +(where setup.py lives) since it is nice to have a consistent way to +apply them. +If you are posting a patch to fix a code bug, please explain your +patch in words -- what was broken before and how you fixed it. Also, +even if your patch is particularly simple, just a few lines or a +single function replacement, we encourage people to submit svn diffs +against HEAD or the branch they are patching. It just makes life +simpler for us, since we (fortunately) get a lot of contributions, and +want to receive them in a standard format. If possible, for any +non-trivial change, please include a complete, free-standing example +that the developers can run unmodified which shows the undesired +behavior pre-patch and the desired behavior post-patch, with a clear +verbal description of what to look for. The original developer may +have written the function you are working on years ago, and may no +longer be with the project, so it is quite possible you are the world +expert on the code you are patching and we want to hear as much detail +as you can offer. + +When emailing your patch and examples, feel free to paste any code +into the text of the message, indeed we encourage it, but also attach +the patches and examples since many email clients screw up the +formatting of plain text, and we spend lots of needless time trying to +reformat the code to make it usable. + You should check out the guide to developing matplotlib to make sure your patch abides by our coding conventions :ref:`developers-guide-index`. Modified: branches/mathtex/doc/faq/installing_faq.rst =================================================================== --- branches/mathtex/doc/faq/installing_faq.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/faq/installing_faq.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -295,8 +295,8 @@ If you want to install matplotlib from one of the binary installers we build, you have two choices: a dmg installer, which is a typical Installer.app, or an binary OSX egg, which you can install via -setuptools easy_install. - +setuptools easy_install. + The mkpg installer will have a "dmg" extension, and will have a name like :file:`matplotlib-0.99.0-py2.5-macosx10.5.dmg` depending on the python, matplotlib, and OSX versions. Save this file and double @@ -318,10 +318,24 @@ then you will need to set your PYTHONPATH, eg:: - export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages:$PYTHONPATH + export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages:$PYTHONPATH See also :ref:`environment-variables`. + +If you are upgrading your matplotlib using the dmg installer over an +Enthought Python Distribution, you may get an error like "You must use +a framework install of python". EPD puts their python in a directory +like :file:``//Library/Frameworks/Python.framework/Versions/4.3.0`` +where 4.3.0 is an EPD version number. The mpl installer needs the +`python` version number, so you need to create a symlink pointing your +python version to the EPS version before installing matplotlib. For +example, for python veersion 2.5 and EPD version 4.3.0:: + + > cd /Library/Frameworks/Python.framework/Versions + > ln -s 4.3.0 2.5 + + .. _easy-install-osx-egg: easy_install from egg @@ -342,7 +356,7 @@ <http://sourceforge.net/projects/matplotlib/files/>`_ directly to your harddrive, and manually install it with - > easy_install --install-dir=~/dev/lib/python2.5/site-packages/ matplotlib-0.99.0.rc1-py2.5-macosx-10.5-i386.egg + > easy_install --install-dir=~/dev/lib/python2.5/site-packages/ matplotlib-0.99.0.rc1-py2.5-macosx-10.5-i386.egg Some users have reported problems with the egg for 0.98 from the @@ -364,6 +378,66 @@ which prevents their installation through easy_install. Renaming is all it takes to install them; still, it's annoying. + +.. _install_from_source_on_osx_epd: + +Building and installing from source on OSX with EPD +--------------------------------------------------- + +If you have the EPD installed (:ref:`which-python-for-osx`), it might turn out +to be rather tricky to install a new version of matplotlib from source on the +Mac OS 10.5 . Here's a procedure that seems to work, at least sometimes: + +0. Remove the ~/.matplotlib folder ("rm -rf ~/.matplotlib"). + +1. Edit the file (make a backup before you start, just in case): +``/Library/Frameworks/Python.framework/Versions/Current/lib/python2.5/config/Makefile``, +removing all occurrences of the string ``-arch ppc``, changing the line +``MACOSX_DEPLOYMENT_TARGET=10.3`` to ``MACOSX_DEPLOYMENT_TARGET=10.5`` and +changing the occurrences of ``MacOSX10.4u.sdk`` into ``MacOSX10.5.sdk`` + +2. In +``/Library/Frameworks/Python.framework/Versions/Current/lib/pythonX.Y/site-packages/easy-install.pth``, +(where X.Y is the version of Python you are building against) +Comment out the line containing the name of the directory in which the +previous version of MPL was installed (Looks something like ``./matplotlib-0.98.5.2n2-py2.5-macosx-10.3-fat.egg``). + +3. Save the following as a shell script , for example ``./install-matplotlib-epd-osx.sh`` :: + + NAME=matplotlib + VERSION=0_99 + PREFIX=$HOME + #branch="release" + branch="trunk" + if [ $branch = "trunk" ] + then + echo getting the trunk + svn co https://matplotlib.svn.sourceforge.net/svnroot/$NAME/trunk/$NAME $NAME + cd $NAME + + fi + if [ $branch = "release" ] + then + echo getting the maintenance branch + svn co https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v${VERSION}_maint $NAME$VERSION + cd $NAME$VERSION + fi + export CFLAGS="-Os -arch i386" + export LDFLAGS="-Os -arch i386" + export PKG_CONFIG_PATH="/usr/x11/lib/pkgconfig" + export ARCHFLAGS="-arch i386" + python setup.py build + python setup.py install #--prefix=$PREFIX #Use this if you don't want it installed into your default location + cd .. + +Run this script (for example ``sh ./install-matplotlib-epd-osx.sh``) in the +directory in which you want the source code to be placed, or simply type the +commands in the terminal command line. This script sets some local variable +(CFLAGS, LDFLAGS, PKG_CONFIG_PATH, ARCHFLAGS), removes previous installations, +checks out the source from svn, builds and installs it. The backend seems to be +set to MacOSX. + + Windows questions ================= Property changes on: branches/mathtex/doc/pyplots/README ___________________________________________________________________ Modified: svn:mergeinfo - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/pyplots/README:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446 /trunk/matplotlib/doc/pyplots/README:7265-7303,7308-7317,7321,7339-7478 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/pyplots/README:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703 /trunk/matplotlib/doc/pyplots/README:7265-7303,7308-7317,7321,7339-7478,7483-7723 Modified: branches/mathtex/doc/sphinxext/gen_gallery.py =================================================================== --- branches/mathtex/doc/sphinxext/gen_gallery.py 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/sphinxext/gen_gallery.py 2009-09-09 14:47:09 UTC (rev 7724) @@ -18,6 +18,10 @@ multiimage = re.compile('(.*)_\d\d') +def out_of_date(original, derived): + return (not os.path.exists(derived) or + os.stat(derived).st_mtime < os.stat(original).st_mtime) + def gen_gallery(app, doctree): if app.builder.name != 'html': return @@ -58,10 +62,10 @@ # Create thumbnails based on images in tmpdir, and place # them within the build tree - image.thumbnail( - str(os.path.join(origdir, filename)), - str(os.path.join(thumbdir, filename)), - scale=0.3) + orig_path = str(os.path.join(origdir, filename)) + thumb_path = str(os.path.join(thumbdir, filename)) + if out_of_date(orig_path, thumb_path): + image.thumbnail(orig_path, thumb_path, scale=0.3) m = multiimage.match(basename) if m is None: Property changes on: branches/mathtex/doc/sphinxext/gen_gallery.py ___________________________________________________________________ Modified: svn:mergeinfo - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771 /branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/sphinxext/gen_gallery.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446 /trunk/matplotlib/doc/sphinxext/gen_gallery.py:7265-7303,7308-7317,7321,7339-7478 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771 /branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/sphinxext/gen_gallery.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703 /trunk/matplotlib/doc/sphinxext/gen_gallery.py:7265-7303,7308-7317,7321,7339-7478,7483-7723 Modified: branches/mathtex/doc/sphinxext/gen_rst.py =================================================================== --- branches/mathtex/doc/sphinxext/gen_rst.py 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/sphinxext/gen_rst.py 2009-09-09 14:47:09 UTC (rev 7724) @@ -113,8 +113,7 @@ fhsubdirIndex.write(' %s\n'%rstfile) - if (not out_of_date(fullpath, outputfile) and - not out_of_date(fullpath, outrstfile)): + if not out_of_date(fullpath, outrstfile): continue fh = file(outrstfile, 'w') Property changes on: branches/mathtex/doc/sphinxext/gen_rst.py ___________________________________________________________________ Modified: svn:mergeinfo - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771 /branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/sphinxext/gen_rst.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446 /trunk/matplotlib/doc/sphinxext/gen_rst.py:7265-7303,7308-7317,7321,7339-7478 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771 /branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245 /branches/v0_99_maint/doc/sphinxext/gen_rst.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703 /trunk/matplotlib/doc/sphinxext/gen_rst.py:7265-7303,7308-7317,7321,7339-7478,7483-7723 Deleted: branches/mathtex/doc/users/annotations.rst =================================================================== --- branches/mathtex/doc/users/annotations.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/annotations.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -1,87 +0,0 @@ -.. _annotations-tutorial: - -Annotating text -=============== - -For a more detailed introduction to annotations, see -:ref:`plotting-guide-annotation`. - -The uses of the basic :func:`~matplotlib.pyplot.text` command above -place text at an arbitrary position on the Axes. A common use case of -text is to annotate some feature of the plot, and the -:func:`~matplotlib.Axes.annotate` method provides helper functionality -to make annotations easy. In an annotation, there are two points to -consider: the location being annotated represented by the argument -``xy`` and the location of the text ``xytext``. Both of these -arguments are ``(x,y)`` tuples. - -.. plot:: pyplots/annotation_basic.py - :include-source: - - -In this example, both the ``xy`` (arrow tip) and ``xytext`` locations -(text location) are in data coordinates. There are a variety of other -coordinate systems one can choose -- you can specify the coordinate -system of ``xy`` and ``xytext`` with one of the following strings for -``xycoords`` and ``textcoords`` (default is 'data') - -==================== ==================================================== -argument coordinate system -==================== ==================================================== - 'figure points' points from the lower left corner of the figure - 'figure pixels' pixels from the lower left corner of the figure - 'figure fraction' 0,0 is lower left of figure and 1,1 is upper, right - 'axes points' points from lower left corner of axes - 'axes pixels' pixels from lower left corner of axes - 'axes fraction' 0,1 is lower left of axes and 1,1 is upper right - 'data' use the axes data coordinate system -==================== ==================================================== - -For example to place the text coordinates in fractional axes -coordinates, one could do:: - - ax.annotate('local max', xy=(3, 1), xycoords='data', - xytext=(0.8, 0.95), textcoords='axes fraction', - arrowprops=dict(facecolor='black', shrink=0.05), - horizontalalignment='right', verticalalignment='top', - ) - -For physical coordinate systems (points or pixels) the origin is the -(bottom, left) of the figure or axes. If the value is negative, -however, the origin is from the (right, top) of the figure or axes, -analogous to negative indexing of sequences. - -Optionally, you can specify arrow properties which draws an arrow -from the text to the annotated point by giving a dictionary of arrow -properties in the optional keyword argument ``arrowprops``. - - -==================== ===================================================== -``arrowprops`` key description -==================== ===================================================== -width the width of the arrow in points -frac the fraction of the arrow length occupied by the head -headwidth the width of the base of the arrow head in points -shrink move the tip and base some percent away from - the annotated point and text - -\*\*kwargs any key for :class:`matplotlib.patches.Polygon`, - e.g. ``facecolor`` -==================== ===================================================== - - -In the example below, the ``xy`` point is in native coordinates -(``xycoords`` defaults to 'data'). For a polar axes, this is in -(theta, radius) space. The text in this example is placed in the -fractional figure coordinate system. :class:`matplotlib.text.Text` -keyword args like ``horizontalalignment``, ``verticalalignment`` and -``fontsize are passed from the `~matplotlib.Axes.annotate` to the -``Text`` instance - -.. plot:: pyplots/annotation_polar.py - :include-source: - -For more on all the wild and wonderful things you can do with -annotations, including fancy arrows, see :ref:`plotting-guide-annotation` -and :ref:`pylab_examples-annotation_demo`. - Modified: branches/mathtex/doc/users/artists.rst =================================================================== --- branches/mathtex/doc/users/artists.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/artists.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -37,7 +37,7 @@ :class:`~matplotlib.text.Text`, :class:`~matplotlib.patches.Rectangle`, :class:`~matplotlib.image.Image`, respectively). These helper methods -will take your data (eg. ``numpy`` arrays and strings) create +will take your data (eg. ``numpy`` arrays and strings) and create primitive ``Artist`` instances as needed (eg. ``Line2D``), add them to the relevant containers, and draw them when requested. Most of you are probably familiar with the :class:`~matplotlib.axes.Subplot`, Modified: branches/mathtex/doc/users/event_handling.rst =================================================================== --- branches/mathtex/doc/users/event_handling.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/event_handling.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -5,7 +5,7 @@ ************************** matplotlib works with 6 user interface toolkits (wxpython, tkinter, -qt, gtk, fltk abd macosx) and in order to support features like interactive +qt, gtk, fltk and macosx) and in order to support features like interactive panning and zooming of figures, it is helpful to the developers to have an API for interacting with the figure via key presses and mouse movements that is "GUI neutral" so we don't have to repeat a lot of @@ -150,7 +150,7 @@ Write draggable rectangle class that is initialized with a :class:`~matplotlib.patches.Rectangle` instance but will move its x,y -location when dragged. Hint: you will need to store the orginal +location when dragged. Hint: you will need to store the original ``xy`` location of the rectangle which is stored as rect.xy and connect to the press, motion and release mouse events. When the mouse is pressed, check to see if the click occurs over your rectangle (see Modified: branches/mathtex/doc/users/index.rst =================================================================== --- branches/mathtex/doc/users/index.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/index.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -19,9 +19,14 @@ customizing.rst shell.rst index_text.rst + image_tutorial.rst artists.rst + legend_guide.rst event_handling.rst - plotting.rst + legend.rst + transforms_tutorial.rst + path_tutorial.rst + annotations_guide.rst toolkits.rst screenshots.rst whats_new.rst Modified: branches/mathtex/doc/users/index_text.rst =================================================================== --- branches/mathtex/doc/users/index_text.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/index_text.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -9,6 +9,6 @@ text_props.rst mathtext.rst usetex.rst - annotations.rst + annotations_intro.rst Modified: branches/mathtex/doc/users/installing.rst =================================================================== --- branches/mathtex/doc/users/installing.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/installing.rst 2009-09-09 14:47:09 UTC (rev 7724) @@ -22,7 +22,7 @@ One single click installer and you are done. -Ok, so you want to do it the hard way? +OK, so you want to do it the hard way? ====================================== For some people, the prepackaged pythons discussed above are not an @@ -109,7 +109,7 @@ packaging matplotlib. -.. _install_requrements: +.. _install_requirements: Build requirements ================== @@ -152,7 +152,7 @@ The Qt3 widgets library python wrappers for the QtAgg backend :term:`pyqt` 4.0 or later - The Qt4 widgets library python wrappersfor the Qt4Agg backend + The Qt4 widgets library python wrappers for the Qt4Agg backend :term:`pygtk` 2.2 or later The python wrappers for the GTK widgets library for use with the GTK or GTKAgg backend @@ -201,5 +201,5 @@ instruction in the README. This directory has a Makefile which will automatically grab the zlib, png and freetype dependencies from the web, build them with the right flags to make universal libraries, and -then build the matplotlib source and binary installers. - \ No newline at end of file +then build the matplotlib source and binary installers. + Modified: branches/mathtex/doc/users/license.rst =================================================================== --- branches/mathtex/doc/users/license.rst 2009-09-08 18:16:38 UTC (rev 7723) +++ branches/mathtex/doc/users/license.rst 2... [truncated message content] |