Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 285530d

Browse files
committed
Merged revisions 3807-3808,3811-3812,3814-3823,3825-3830,3832-3835,3837-3846,3848-3865,3867-3869,3871-3872,3874-3884,3886-3895,3897-3905,3907-3908,3910-3924,3926-3928,3930-3932,3934-3955,3957-3961,3963-3983,3985-4000,4002-4058,4060-4134,4136-4191,4193-4219,4221-4243,4245-4291,4293-4317,4319-4329,4331-4339,4341-4392,4394,4396-4400,4402-4405,4407-4436,4438-4443,4445-4490,4492-4495,4497-4498,4500-4505,4507-4561,4563-4615,4617-4618,4620,4622-4633,4635-4667,4670-4687,4690-4707,4709-4714,4716-4726,4728-4734,4736-4757,4759-4772,4774-4786,4788-4800,4802-4803,4805-4816 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/transforms ................ r3822 | mdboom | 2007-09-10 13:39:37 -0400 (Mon, 10 Sep 2007) | 2 lines Baby steps and horrible breakage on transforms branch. ................ r3823 | mdboom | 2007-09-10 13:40:47 -0400 (Mon, 10 Sep 2007) | 1 line Adding new files that will eventually replace transforms.py/cpp ................ r3826 | mdboom | 2007-09-10 15:25:21 -0400 (Mon, 10 Sep 2007) | 3 lines Running mathtext_demo.py without transforms.py/cpp. Totally broken, though. Not surprising... ;) ................ r3830 | mdboom | 2007-09-11 13:56:13 -0400 (Tue, 11 Sep 2007) | 2 lines Just marking a milestone -- about to totally rip things up again. ................ r3835 | mdboom | 2007-09-12 09:36:25 -0400 (Wed, 12 Sep 2007) | 2 lines Second pass, using a stateful transform tree. ................ r3837 | mdboom | 2007-09-12 10:46:03 -0400 (Wed, 12 Sep 2007) | 1 line Adding pbox.py ................ r3838 | jdh2358 | 2007-09-12 11:41:22 -0400 (Wed, 12 Sep 2007) | 1 line removed Interval from canonical tickers and formatters ................ r3839 | mdboom | 2007-09-12 13:25:19 -0400 (Wed, 12 Sep 2007) | 3 lines Milestone -- simple_plot.py working with new affine framework (with the exception of dpi propagation) ................ r3842 | mdboom | 2007-09-12 15:47:56 -0400 (Wed, 12 Sep 2007) | 2 lines More progress. Zooming and panning working thanks to John's patch. ................ r3843 | jdh2358 | 2007-09-12 16:25:17 -0400 (Wed, 12 Sep 2007) | 1 line minor changes for gtk navigation ................ r3846 | mdboom | 2007-09-13 08:44:16 -0400 (Thu, 13 Sep 2007) | 2 lines Minor changes -- committing so I can merge again. ................ r3848 | mdboom | 2007-09-13 14:00:10 -0400 (Thu, 13 Sep 2007) | 3 lines New milestone -- resizing figure window works. shared_axis_demo.py works. (Uses callbacks to track changes between axes's). ................ r3849 | mdboom | 2007-09-14 08:23:06 -0400 (Fri, 14 Sep 2007) | 2 lines Committing this file so I can rename it ................ r3850 | mdboom | 2007-09-14 08:24:20 -0400 (Fri, 14 Sep 2007) | 2 lines Deleting this file to rename affine.py ................ r3851 | mdboom | 2007-09-14 09:03:31 -0400 (Fri, 14 Sep 2007) | 4 lines Removed transforms on the C++ side -- removed many methods that depend on it in backend_agg in preparation for path generalization. Lots of general renaming... ................ r3852 | mdboom | 2007-09-14 13:57:52 -0400 (Fri, 14 Sep 2007) | 6 lines Sends paths to backend only once, and after that uses the "native" path by reference with a changing transform. Started recongfiguring patches.py to use only Paths under the hood (to take advantage of this caching). Removed many methods from backend_agg that should eventually be replaced by draw_path, at least in theory. ................ r3854 | mdboom | 2007-09-17 09:41:38 -0400 (Mon, 17 Sep 2007) | 1 line Transferring work-in-progress ................ r3855 | mdboom | 2007-09-18 12:21:37 -0400 (Tue, 18 Sep 2007) | 3 lines More code using new transformation framework. Lots of dead code removed from backend_agg.cpp/h ................ r3856 | mdboom | 2007-09-18 15:29:21 -0400 (Tue, 18 Sep 2007) | 5 lines Optimize shared axes (to prevent calling set_xlim/set_ylim more than once per axes per update). Save figure at correct dpi. General cleanup and optimizations. ................ r3857 | mdboom | 2007-09-19 09:28:11 -0400 (Wed, 19 Sep 2007) | 2 lines Got legend working with new transforms ................ r3858 | mdboom | 2007-09-19 12:18:51 -0400 (Wed, 19 Sep 2007) | 2 lines Got steps_demo.py working ................ r3859 | mdboom | 2007-09-19 15:46:34 -0400 (Wed, 19 Sep 2007) | 2 lines Lots of minor fixes ................ r3860 | mdboom | 2007-09-19 15:48:17 -0400 (Wed, 19 Sep 2007) | 2 lines Use iterator rather than caching approach for paths ................ r3864 | mdboom | 2007-09-20 09:57:32 -0400 (Thu, 20 Sep 2007) | 2 lines Simplification of marker paths. ................ r3865 | mdboom | 2007-09-20 09:57:59 -0400 (Thu, 20 Sep 2007) | 2 lines Go all out with iterator (rather than copy) approach, as it is much faster. ................ r3868 | mdboom | 2007-09-20 10:26:27 -0400 (Thu, 20 Sep 2007) | 2 lines Don't copy path array to a contiguous one. ................ r3869 | mdboom | 2007-09-20 14:00:32 -0400 (Thu, 20 Sep 2007) | 3 lines First baby step in getting arbitrary non-linear transformations into the pipeline. ................ r3872 | mdboom | 2007-09-21 12:52:50 -0400 (Fri, 21 Sep 2007) | 6 lines Further progress on arbitrary transformations -- zooming and panning now works without any log-scale-specific hacks. (Though the underlying model is slightly wrong.) Added graphviz output support for debugging transformation trees. Masked array handling much more robust. ................ r3884 | mdboom | 2007-09-24 12:53:38 -0400 (Mon, 24 Sep 2007) | 2 lines More progress. (Kind of a broken mess at the moment.) ................ r3886 | mdboom | 2007-09-24 13:33:03 -0400 (Mon, 24 Sep 2007) | 2 lines Fixed log scaling again. ................ r3889 | mdboom | 2007-09-25 13:04:51 -0400 (Tue, 25 Sep 2007) | 2 lines Automaticall separate affine from non-affine transforms ................ r3890 | mdboom | 2007-09-25 14:29:44 -0400 (Tue, 25 Sep 2007) | 2 lines Minor speed improvements in new transformations. ................ r3892 | mdboom | 2007-09-25 15:53:56 -0400 (Tue, 25 Sep 2007) | 2 lines Important bugfixes. ................ r3893 | mdboom | 2007-09-26 08:29:05 -0400 (Wed, 26 Sep 2007) | 2 lines Committing simple_ploy_fps.py ................ r3895 | mdboom | 2007-09-26 09:53:53 -0400 (Wed, 26 Sep 2007) | 2 lines Fix log limits. For minor speed improvements. ................ r3897 | mdboom | 2007-09-26 10:08:12 -0400 (Wed, 26 Sep 2007) | 2 lines Fix log transforms a little. ................ r3905 | mdboom | 2007-10-01 07:44:54 -0400 (Mon, 01 Oct 2007) | 2 lines Move ticking/formatting defaults to scale.py. Speed improvements in transforms.py ................ r3908 | mdboom | 2007-10-03 08:50:04 -0400 (Wed, 03 Oct 2007) | 2 lines Lots of progress on Polar transform refactoring. Added point_in_path algorithm. ................ r3912 | mdboom | 2007-10-04 13:21:26 -0400 (Thu, 04 Oct 2007) | 4 lines Lots of new docstrings. Reasonably good state for polar plots. r-axis labels can be dragged on polar plots. r-scale can be zoomed on polar plot. Lots of other minor changes too numerous to mention. ................ r3913 | mdboom | 2007-10-04 13:22:01 -0400 (Thu, 04 Oct 2007) | 3 lines Sharing axes across figures is much easier now (it is the same as within the same figure), so this demo has been updated. ................ r3914 | mdboom | 2007-10-04 14:57:27 -0400 (Thu, 04 Oct 2007) | 2 lines Progress on agg_buffer_to_array example. ................ r3915 | mdboom | 2007-10-04 15:12:20 -0400 (Thu, 04 Oct 2007) | 3 lines Merged from trunk (a somewhat hairy manual merge this time). Fixed bug (on this branch only) where inverted axes were broken. ................ r3924 | mdboom | 2007-10-05 15:25:33 -0400 (Fri, 05 Oct 2007) | 4 lines Simplified sharing axes again. Plowing through -- making more examples work. First pass at updating collections (LineCollection mostly works) ................ r3928 | mdboom | 2007-10-08 14:10:11 -0400 (Mon, 08 Oct 2007) | 2 lines More work on collections. ................ r3932 | mdboom | 2007-10-10 09:37:28 -0400 (Wed, 10 Oct 2007) | 2 lines Lots more work on making examples work. Details, details, details... ................ r3934 | mdboom | 2007-10-11 11:42:53 -0400 (Thu, 11 Oct 2007) | 3 lines Continued progress getting more examples to work. Working examples (with TkAgg backend only) are marked in PASSED_DEMOS for the curious. ................ r3937 | mdboom | 2007-10-12 08:27:25 -0400 (Fri, 12 Oct 2007) | 3 lines First pass through all of the examples -- not all working yet, though. (See PASSED_DEMOS). ................ r3938 | mdboom | 2007-10-12 10:29:57 -0400 (Fri, 12 Oct 2007) | 1 line Forgot the __init__.py ................ r3939 | mdboom | 2007-10-12 13:30:17 -0400 (Fri, 12 Oct 2007) | 2 lines More progress on examples. ................ r3947 | mdboom | 2007-10-15 09:49:25 -0400 (Mon, 15 Oct 2007) | 3 lines Significant speed improvement in text layout. Reverted to fix bug in ticklabels. Lots of other minor things. ................ r3948 | mdboom | 2007-10-15 10:03:19 -0400 (Mon, 15 Oct 2007) | 13 lines Merged revisions 3933-3947 via svnmerge from http://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib ........ r3935 | mdboom | 2007-10-11 13:03:50 -0400 (Thu, 11 Oct 2007) | 1 line Fixed minor import bug ........ r3941 | jdh2358 | 2007-10-14 15:00:50 -0400 (Sun, 14 Oct 2007) | 1 line added ellipse compare script ........ ................ r3955 | mdboom | 2007-10-16 10:17:53 -0400 (Tue, 16 Oct 2007) | 2 lines First pass at PS backend updates. ................ r3957 | mdboom | 2007-10-16 10:41:29 -0400 (Tue, 16 Oct 2007) | 1 line Fixing mistake in last merge ................ r3958 | mdboom | 2007-10-16 15:39:57 -0400 (Tue, 16 Oct 2007) | 3 lines figlegends work now. (Phew!) Rendering quality fixes drawing axis-aligned line segments in Agg. ................ r3960 | mdboom | 2007-10-18 10:51:16 -0400 (Thu, 18 Oct 2007) | 2 lines More examples working. Minor speedups. ................ r3965 | mdboom | 2007-10-18 14:11:59 -0400 (Thu, 18 Oct 2007) | 2 lines First pass at working PDF backend. ................ r3981 | mdboom | 2007-10-23 10:23:19 -0400 (Tue, 23 Oct 2007) | 2 lines Decreasing polar interpolation resolution. ................ r3982 | mdboom | 2007-10-23 10:24:49 -0400 (Tue, 23 Oct 2007) | 3 lines Marker objects should be keyed off of whether or not they are filled and their line width (since the line width affects the bounding box). ................ r3983 | mdboom | 2007-10-23 10:25:49 -0400 (Tue, 23 Oct 2007) | 2 lines First pass at SVG support ................ r3985 | mdboom | 2007-10-23 12:40:25 -0400 (Tue, 23 Oct 2007) | 3 lines More progress on SVG. Refactored PS collection drawing to make it easier to reuse the (fairly complex) code. ................ r3986 | mdboom | 2007-10-23 12:54:51 -0400 (Tue, 23 Oct 2007) | 2 lines Fix bug that broke draw_image ................ r3987 | mdboom | 2007-10-23 15:16:11 -0400 (Tue, 23 Oct 2007) | 2 lines Fix bugs in log_demo.py ................ r3988 | mdboom | 2007-10-23 15:20:21 -0400 (Tue, 23 Oct 2007) | 2 lines Reduce tendency to use aliased drawing. ................ r3989 | mdboom | 2007-10-23 15:47:43 -0400 (Tue, 23 Oct 2007) | 2 lines Fix bug in clipping rectangle in PDF ................ r3990 | mdboom | 2007-10-23 15:48:14 -0400 (Tue, 23 Oct 2007) | 2 lines Fix bug affecting legend_auto.py ................ r3992 | mdboom | 2007-10-24 12:03:49 -0400 (Wed, 24 Oct 2007) | 2 lines Separated path utilities from backend_agg ................ r3993 | mdboom | 2007-10-24 13:11:00 -0400 (Wed, 24 Oct 2007) | 2 lines Forgot to svn add these files in last commit. ................ r3994 | mdboom | 2007-10-24 14:01:26 -0400 (Wed, 24 Oct 2007) | 2 lines Removing a limits change that shouldn't have been committed. ................ r3995 | mdboom | 2007-10-24 14:12:19 -0400 (Wed, 24 Oct 2007) | 2 lines Fix masked array plotting again. ................ r3996 | mdboom | 2007-10-24 14:49:08 -0400 (Wed, 24 Oct 2007) | 3 lines Initial pass of Gtk, Qt, Qt4, Fltk and Wx GUI backends. Lots more examples passing. ................ r3997 | mdboom | 2007-10-24 15:22:00 -0400 (Wed, 24 Oct 2007) | 5 lines Renamed [xmin, ymin, xmax, ymax] in Bbox to [x0, y0, x1, y1] and provide functions that really do give xmax etc. as well. Renamed lbrt to extents and lbwh to bounds (for consistency). Removed some dead code. ................ r3998 | mdboom | 2007-10-24 15:42:49 -0400 (Wed, 24 Oct 2007) | 2 lines More examples working. ................ r4000 | mdboom | 2007-10-25 10:07:44 -0400 (Thu, 25 Oct 2007) | 3 lines table_demo working. Lots of minor fixes. Faster transforms when debugging is turned off. ................ r4004 | mdboom | 2007-10-25 15:16:11 -0400 (Thu, 25 Oct 2007) | 3 lines Increased coverage of backend_driver.py to include almost everything in axes.py. Lots of little bug fixes. ................ r4011 | mdboom | 2007-10-26 11:58:50 -0400 (Fri, 26 Oct 2007) | 2 lines More coverage. Add draw_path_collection to SVG. ................ r4012 | mdboom | 2007-10-26 13:01:28 -0400 (Fri, 26 Oct 2007) | 2 lines Added BboxTransformFrom/To for more efficient bounding box transforms. ................ r4017 | mdboom | 2007-10-26 14:00:23 -0400 (Fri, 26 Oct 2007) | 2 lines Removed unused imports. ................ r4018 | mdboom | 2007-10-26 14:04:51 -0400 (Fri, 26 Oct 2007) | 2 lines Fix polar plot title so it doesn't clash with 90 degree value. ................ r4019 | mdboom | 2007-10-26 14:32:44 -0400 (Fri, 26 Oct 2007) | 3 lines Can't drag zoom on a polar plot. Finessing Agg drawing quality a little bit. ................ r4052 | mdboom | 2007-10-29 11:20:13 -0400 (Mon, 29 Oct 2007) | 2 lines Revert this example to like it is in the trunk. ................ r4053 | mdboom | 2007-10-29 11:21:49 -0400 (Mon, 29 Oct 2007) | 2 lines Lots of minor bug fixes. ................ r4054 | mdboom | 2007-10-29 12:55:53 -0400 (Mon, 29 Oct 2007) | 2 lines More examples working. ................ r4055 | mdboom | 2007-10-29 13:31:24 -0400 (Mon, 29 Oct 2007) | 2 lines Massive CHANGELOG and API_CHANGES entries about this refactoring. ................ r4056 | mdboom | 2007-10-29 13:39:06 -0400 (Mon, 29 Oct 2007) | 2 lines Oops -- this shouldn't have been committed. ................ r4058 | mdboom | 2007-10-29 14:20:11 -0400 (Mon, 29 Oct 2007) | 2 lines Updated. ................ r4060 | mdboom | 2007-10-29 14:37:17 -0400 (Mon, 29 Oct 2007) | 2 lines Fix clip path in polar plot legend. ................ r4122 | mdboom | 2007-11-06 10:37:44 -0500 (Tue, 06 Nov 2007) | 3 lines Minor speed improvement (thanks to Eric Firing). Also use matplotlib.numerix.npyma instead of numpy.ma ................ r4123 | mdboom | 2007-11-06 10:48:22 -0500 (Tue, 06 Nov 2007) | 2 lines Mistake in last commit. ................ r4124 | mdboom | 2007-11-06 10:50:51 -0500 (Tue, 06 Nov 2007) | 2 lines Update docstring to reflect reality. ................ r4133 | mdboom | 2007-11-06 14:46:45 -0500 (Tue, 06 Nov 2007) | 2 lines Updated docstring to reflect current reality. ................ r4134 | mdboom | 2007-11-06 14:48:40 -0500 (Tue, 06 Nov 2007) | 2 lines Use "from matplotlib.numerix import npyma as ma" ................ r4136 | mdboom | 2007-11-06 16:33:37 -0500 (Tue, 06 Nov 2007) | 10 lines Speed up pcolor_demo.py "benchmark" initialization by a factor of 2. Cache the automatically created path codes by their length. pcolor, quadmesh etc. create lots of polylines of the same length, and there is no need to create a new identical codes array each time. (Definite speed improvement, incredible memory improvement). Change the default behavior to create open paths (which don't result in a memory copy). Fix places that were relying on automatically-created closed paths to create closed paths themselves (and thus avoiding a copy). ................ r4142 | mdboom | 2007-11-07 10:31:37 -0500 (Wed, 07 Nov 2007) | 7 lines Further speed improvements. For collections, now has faster ignoring of elements that aren't provided, such as offsets. Paths now do not even store the "default" codes array -- which is MOVETO followed by N LINETOs. These are generated automatically by the iterators if no codes array is provided. (Should also result in significant memory savings for graphs with many points.) ................ r4152 | mdboom | 2007-11-07 15:13:35 -0500 (Wed, 07 Nov 2007) | 4 lines Further speed improvements. Quadmesh extension code (still not as fast as the old version, for various reasons.) Fix bugs in quadmesh masking in PDF and PS backends. ................ r4153 | mdboom | 2007-11-07 15:38:46 -0500 (Wed, 07 Nov 2007) | 2 lines Update to use modern Numpy C API ................ r4154 | mdboom | 2007-11-07 16:20:45 -0500 (Wed, 07 Nov 2007) | 2 lines First pass at Cairo support on the branch. ................ r4157 | mdboom | 2007-11-08 08:21:17 -0500 (Thu, 08 Nov 2007) | 2 lines Small bugfix to compile on gcc 4.x (Thanks, Eric) ................ r4158 | mdboom | 2007-11-08 09:05:18 -0500 (Thu, 08 Nov 2007) | 3 lines Add a background color to the axes so it's easier to tell if there is a bug in the masked values. ................ r4159 | mdboom | 2007-11-08 09:06:25 -0500 (Thu, 08 Nov 2007) | 3 lines Get wxagg extension working again. Factor out the new Bbox conversion code into agg_py_transforms.h ................ r4161 | mdboom | 2007-11-08 11:26:31 -0500 (Thu, 08 Nov 2007) | 2 lines Updating the simple_plot_fps benchmark. ................ r4162 | mdboom | 2007-11-08 11:27:18 -0500 (Thu, 08 Nov 2007) | 2 lines Put a generic non-optimized draw_markers implementation in backend_bases. ................ r4184 | mdboom | 2007-11-09 11:33:58 -0500 (Fri, 09 Nov 2007) | 2 lines Fix misaligned clipping rectangle. ................ r4185 | mdboom | 2007-11-09 11:35:15 -0500 (Fri, 09 Nov 2007) | 2 lines Get wx backend working with wxGraphicsContext drawing. ................ r4186 | mdboom | 2007-11-09 11:40:25 -0500 (Fri, 09 Nov 2007) | 2 lines Removed debugging message. ................ r4189 | mdboom | 2007-11-09 14:09:42 -0500 (Fri, 09 Nov 2007) | 2 lines Add support for nonuniform grids to imshow. ................ r4190 | mdboom | 2007-11-09 14:23:42 -0500 (Fri, 09 Nov 2007) | 1 line Merging trunk to branch ................ r4245 | mdboom | 2007-11-13 11:02:47 -0500 (Tue, 13 Nov 2007) | 2 lines Bug fixes. ................ r4246 | mdboom | 2007-11-13 11:08:24 -0500 (Tue, 13 Nov 2007) | 2 lines Don't clip ticks. ................ r4247 | mdboom | 2007-11-13 11:08:33 -0500 (Tue, 13 Nov 2007) | 2 lines Bugfix for polar plots. ................ r4282 | mdboom | 2007-11-14 13:36:45 -0500 (Wed, 14 Nov 2007) | 2 lines Fix bug in PDF backend. ................ r4283 | mdboom | 2007-11-14 13:38:05 -0500 (Wed, 14 Nov 2007) | 2 lines Fix alignment of clipping rectangles. ................ r4284 | mdboom | 2007-11-14 13:42:52 -0500 (Wed, 14 Nov 2007) | 2 lines Update to use new numpy macros. ................ r4285 | mdboom | 2007-11-14 13:43:35 -0500 (Wed, 14 Nov 2007) | 2 lines Build the path module (inadvertently removed during a merge). ................ r4286 | mdboom | 2007-11-14 13:44:39 -0500 (Wed, 14 Nov 2007) | 3 lines New path-related utilities (used for an aborted attempt at fixing contouring -- may be useful in other contexts in the future). ................ r4302 | mdboom | 2007-11-15 10:13:38 -0500 (Thu, 15 Nov 2007) | 2 lines Fix Subplot backward-incompatibility. ................ r4303 | mdboom | 2007-11-15 10:14:47 -0500 (Thu, 15 Nov 2007) | 5 lines Cairo backend fixes: - Avoid crash when path is too long - Fix alpha filling - Fix path clipping ................ r4304 | mdboom | 2007-11-15 10:15:21 -0500 (Thu, 15 Nov 2007) | 2 lines Minor speed improvements. ................ r4305 | mdboom | 2007-11-15 10:18:42 -0500 (Thu, 15 Nov 2007) | 2 lines Speed improvements. ................ r4306 | mdboom | 2007-11-15 11:28:54 -0500 (Thu, 15 Nov 2007) | 2 lines Speed improvements. ................ r4307 | mdboom | 2007-11-15 11:29:40 -0500 (Thu, 15 Nov 2007) | 2 lines Updated benchmark ................ r4309 | mdboom | 2007-11-15 12:17:02 -0500 (Thu, 15 Nov 2007) | 2 lines Bugfixes (getting some examples to work again). ................ r4311 | mdboom | 2007-11-15 13:10:54 -0500 (Thu, 15 Nov 2007) | 2 lines Major speed improvement (duplicate draws were being emitted). ................ r4314 | mdboom | 2007-11-15 13:35:30 -0500 (Thu, 15 Nov 2007) | 2 lines Fix colorbar drawing. ................ r4319 | mdboom | 2007-11-15 15:05:46 -0500 (Thu, 15 Nov 2007) | 2 lines Fix value display in log-scaled plots. ................ r4320 | mdboom | 2007-11-15 15:26:03 -0500 (Thu, 15 Nov 2007) | 2 lines Fix gridlines in log scale. ................ r4323 | mdboom | 2007-11-15 16:12:54 -0500 (Thu, 15 Nov 2007) | 2 lines Don't create masked arrays unless we absolutely have to. ................ r4324 | mdboom | 2007-11-15 16:13:52 -0500 (Thu, 15 Nov 2007) | 2 lines Speed up auto-legend. ................ r4333 | mdboom | 2007-11-16 10:53:57 -0500 (Fri, 16 Nov 2007) | 1 line Upgrade to Agg 2.4; Stop building Agg SWIG wrappers and remove small dependency on them. ................ r4345 | mdboom | 2007-11-16 15:29:51 -0500 (Fri, 16 Nov 2007) | 2 lines Minor speed improvement. ................ r4388 | mdboom | 2007-11-20 08:14:34 -0500 (Tue, 20 Nov 2007) | 3 lines Reverting imshow -- these issues are being dealt with by Eric Firing on the trunk. ................ r4392 | mdboom | 2007-11-20 08:50:04 -0500 (Tue, 20 Nov 2007) | 2 lines Removing trailing whitespace so a merge from trunk will be possible. ................ r4398 | mdboom | 2007-11-20 16:00:20 -0500 (Tue, 20 Nov 2007) | 6 lines Support mixed-mode rendering the PDF backend. This allows some things to be rendered as vectors and some as rasters. At the moment, mostly as a proof-of-concept, all quadmeshes are rendered as rasters with the PDF backend. Also make PDF backend resolution independent. ................ r4399 | mdboom | 2007-11-20 17:00:51 -0500 (Tue, 20 Nov 2007) | 4 lines Reduce file sizes for mixed-mode PDFs by only outputting the part of the image with non-transparent pixels. Minor speed improvement in MixedModeRenderer. ................ r4439 | mdboom | 2007-11-26 10:18:40 -0500 (Mon, 26 Nov 2007) | 2 lines Remove draw_arc (which isn't in the new backend renderer interface). ................ r4440 | mdboom | 2007-11-26 10:30:12 -0500 (Mon, 26 Nov 2007) | 2 lines Support mixed-mode rendering in the SVG backend. ................ r4445 | mdboom | 2007-11-26 11:43:19 -0500 (Mon, 26 Nov 2007) | 2 lines Fix compilation error on 64-bit platforms. ................ r4446 | mdboom | 2007-11-26 11:52:53 -0500 (Mon, 26 Nov 2007) | 3 lines Fix zooming with bounding box in Gtk and Qt backends (others seem to already work). Fix text rotation in Wx (non-Agg) backend. ................ r4447 | mdboom | 2007-11-26 11:59:29 -0500 (Mon, 26 Nov 2007) | 2 lines Fix compile error on 64-bit platforms. ................ r4448 | mdboom | 2007-11-26 12:23:18 -0500 (Mon, 26 Nov 2007) | 2 lines Still trying to fix compile error on 64-bit platforms... ................ r4469 | mdboom | 2007-11-27 12:40:45 -0500 (Tue, 27 Nov 2007) | 2 lines Fix memory leak and increase performance in quadmesh drawing (Agg) ................ r4473 | mdboom | 2007-11-27 15:03:48 -0500 (Tue, 27 Nov 2007) | 2 lines Improve speed of quad mesh drawing (by about 25%) ................ r4480 | mdboom | 2007-11-28 08:40:54 -0500 (Wed, 28 Nov 2007) | 3 lines Fix marker drawing bug, and improve speed (by using buffers on the stack if possible). ................ r4481 | mdboom | 2007-11-28 08:42:39 -0500 (Wed, 28 Nov 2007) | 2 lines Major speed improvements for auto-placing of legends. ................ r4488 | mdboom | 2007-11-28 13:26:40 -0500 (Wed, 28 Nov 2007) | 2 lines Increase performance of draw_markers in Agg backend ................ r4489 | mdboom | 2007-11-28 13:27:43 -0500 (Wed, 28 Nov 2007) | 2 lines Speed improvements -- determine path extents in C ................ r4493 | mdboom | 2007-11-28 15:36:22 -0500 (Wed, 28 Nov 2007) | 2 lines Fix PDF font size bug. ................ r4494 | mdboom | 2007-11-28 15:36:45 -0500 (Wed, 28 Nov 2007) | 2 lines Fix Ps import bug ................ r4495 | mdboom | 2007-11-28 15:37:04 -0500 (Wed, 28 Nov 2007) | 2 lines Minor fixes. ................ r4500 | mdboom | 2007-11-29 08:50:25 -0500 (Thu, 29 Nov 2007) | 2 lines Fix mri_with_eeg example ................ r4501 | mdboom | 2007-11-29 10:40:42 -0500 (Thu, 29 Nov 2007) | 2 lines Ran "astyle --style=ansi" to convert to ANSI style. ................ r4521 | mdboom | 2007-11-30 10:06:56 -0500 (Fri, 30 Nov 2007) | 2 lines Get Gtk backend working. ................ r4523 | mdboom | 2007-11-30 10:50:13 -0500 (Fri, 30 Nov 2007) | 2 lines Cleanup some variable names. ................ r4524 | mdboom | 2007-11-30 10:50:35 -0500 (Fri, 30 Nov 2007) | 2 lines Fix bb numerals in mathtext. ................ r4525 | mdboom | 2007-11-30 10:51:18 -0500 (Fri, 30 Nov 2007) | 2 lines Fix shadows (see pie_demo.py) ................ r4527 | mdboom | 2007-11-30 11:16:34 -0500 (Fri, 30 Nov 2007) | 2 lines Fix Cairo alpha-blending. ................ r4565 | mdboom | 2007-12-03 12:14:20 -0500 (Mon, 03 Dec 2007) | 2 lines Fix bug in pcolormesh. ................ r4566 | mdboom | 2007-12-03 12:15:06 -0500 (Mon, 03 Dec 2007) | 3 lines Use non-equal dimensions for mesh to highlight bug in pcolormesh (if it ever returns). ................ r4568 | mdboom | 2007-12-03 14:07:36 -0500 (Mon, 03 Dec 2007) | 3 lines Fix image interpolation edges for Agg 2.4. It no longer needs funny workarounds with memory copies to interpolate the edges of the image correctly. ................ r4569 | mdboom | 2007-12-03 14:16:17 -0500 (Mon, 03 Dec 2007) | 2 lines Fix exception when a particular contour doesn't exist. ................ r4577 | mdboom | 2007-12-04 11:01:06 -0500 (Tue, 04 Dec 2007) | 2 lines Fix bug when collection is empty. ................ r4578 | mdboom | 2007-12-04 11:06:20 -0500 (Tue, 04 Dec 2007) | 1 line Oops in last commit ................ r4590 | mdboom | 2007-12-04 15:06:45 -0500 (Tue, 04 Dec 2007) | 2 lines Bugfix for missing markers. Bugfix for faceted pcolor-based quadmeshes. ................ r4591 | mdboom | 2007-12-04 15:07:31 -0500 (Tue, 04 Dec 2007) | 2 lines Bugfix for faceted pcolor-based quadmeshes. ................ r4592 | mdboom | 2007-12-04 15:07:59 -0500 (Tue, 04 Dec 2007) | 2 lines Bugfix for broken_barh demo ................ r4593 | mdboom | 2007-12-04 15:08:28 -0500 (Tue, 04 Dec 2007) | 2 lines Fix direction of left and right caret markers. ................ r4594 | mdboom | 2007-12-04 15:28:24 -0500 (Tue, 04 Dec 2007) | 2 lines Fix bbox_artist ................ r4595 | mdboom | 2007-12-04 15:29:54 -0500 (Tue, 04 Dec 2007) | 2 lines Fix interpolation so it wraps rather than clips. ................ r4600 | mdboom | 2007-12-04 15:55:04 -0500 (Tue, 04 Dec 2007) | 2 lines Fix inverted x-axis bug. ................ r4602 | mdboom | 2007-12-04 16:30:06 -0500 (Tue, 04 Dec 2007) | 2 lines Bugfix. ................ r4603 | mdboom | 2007-12-04 16:33:33 -0500 (Tue, 04 Dec 2007) | 3 lines Add experimental support for auto-layout of axes on the figure, to prevent ticks and labels from overlapping things in other axes. ................ r4604 | mdboom | 2007-12-04 16:53:43 -0500 (Tue, 04 Dec 2007) | 2 lines Fix xlabel on top axes to say what it is. ................ r4615 | mdboom | 2007-12-05 10:36:48 -0500 (Wed, 05 Dec 2007) | 3 lines Make new auto-layout stuff optional (so it can be experimented on without breaking too much.) ................ r4624 | mdboom | 2007-12-05 13:14:38 -0500 (Wed, 05 Dec 2007) | 2 lines Make autolayout a configuration option. ................ r4625 | mdboom | 2007-12-05 13:56:18 -0500 (Wed, 05 Dec 2007) | 2 lines Make things more robust to changes in dpi. ................ r4626 | mdboom | 2007-12-05 13:56:42 -0500 (Wed, 05 Dec 2007) | 2 lines Avoid matching widths and heights too often. ................ r4627 | mdboom | 2007-12-05 13:57:06 -0500 (Wed, 05 Dec 2007) | 2 lines Prevent mathtext cache from getting out of hand. ................ r4628 | mdboom | 2007-12-05 13:57:54 -0500 (Wed, 05 Dec 2007) | 2 lines Remove dead code. ................ r4641 | mdboom | 2007-12-06 08:37:29 -0500 (Thu, 06 Dec 2007) | 2 lines Fix backward-compatibility breakage of apply_aspect. ................ r4642 | mdboom | 2007-12-06 09:55:01 -0500 (Thu, 06 Dec 2007) | 2 lines Revert examples to work best without auto-layout. ................ r4646 | mdboom | 2007-12-06 12:09:53 -0500 (Thu, 06 Dec 2007) | 2 lines Fix an incorrect merge from trunk. ................ r4652 | mdboom | 2007-12-06 13:49:35 -0500 (Thu, 06 Dec 2007) | 2 lines Making note about broken unit test. ................ r4680 | mdboom | 2007-12-10 09:59:49 -0500 (Mon, 10 Dec 2007) | 2 lines Use an 8-spline approximation of an ellipse instead of a 4-spline one. ................ r4681 | mdboom | 2007-12-10 10:00:03 -0500 (Mon, 10 Dec 2007) | 2 lines Bugfix. ................ r4682 | mdboom | 2007-12-10 10:03:33 -0500 (Mon, 10 Dec 2007) | 2 lines Draw aligned lines more often than before. ................ r4683 | mdboom | 2007-12-10 10:21:58 -0500 (Mon, 10 Dec 2007) | 2 lines Fix variable name. ................ r4691 | mdboom | 2007-12-10 11:26:00 -0500 (Mon, 10 Dec 2007) | 2 lines Somehow the merge went awry last time. Fixing. ................ r4693 | mdboom | 2007-12-10 14:46:00 -0500 (Mon, 10 Dec 2007) | 2 lines Numpify arc/wedge approximation. ................ r4694 | mdboom | 2007-12-10 14:53:12 -0500 (Mon, 10 Dec 2007) | 2 lines Simplify even more ................ r4700 | mdboom | 2007-12-11 19:15:23 -0500 (Tue, 11 Dec 2007) | 1 line Added (experimental) support for large arcs ................ r4701 | mdboom | 2007-12-12 08:48:09 -0500 (Wed, 12 Dec 2007) | 3 lines Make the arc edge detection algorithm be dynamic based on the size of the ellipse, rather than always on (that was just for debugging). ................ r4702 | mdboom | 2007-12-12 08:54:56 -0500 (Wed, 12 Dec 2007) | 2 lines Fix a bad merge. ................ r4703 | mdboom | 2007-12-12 08:55:12 -0500 (Wed, 12 Dec 2007) | 2 lines Layout fix. ................ r4714 | mdboom | 2007-12-12 14:11:44 -0500 (Wed, 12 Dec 2007) | 2 lines Code cleanup ................ r4716 | mdboom | 2007-12-12 15:06:30 -0500 (Wed, 12 Dec 2007) | 3 lines Save images to Svg files without writing the image data out as a temporary file. ................ r4717 | mdboom | 2007-12-12 15:13:52 -0500 (Wed, 12 Dec 2007) | 2 lines Somehow this fix didn't get merged from trunk... (Saving gzipped Svg files) ................ r4723 | mdboom | 2007-12-13 13:12:51 -0500 (Thu, 13 Dec 2007) | 2 lines Use numpy for math. ................ r4724 | mdboom | 2007-12-13 13:13:04 -0500 (Thu, 13 Dec 2007) | 2 lines Clarify comment. ................ r4725 | mdboom | 2007-12-13 13:13:49 -0500 (Thu, 13 Dec 2007) | 2 lines Minor speedup in mathtext parsing. ................ r4729 | mdboom | 2007-12-13 13:42:54 -0500 (Thu, 13 Dec 2007) | 2 lines Fix some regular expressions. ................ r4733 | mdboom | 2007-12-14 15:07:59 -0500 (Fri, 14 Dec 2007) | 3 lines First pass at symmetrical log plots. Expose xscale() and yscale() through pyplot. ................ r4734 | mdboom | 2007-12-14 15:08:22 -0500 (Fri, 14 Dec 2007) | 2 lines Fix minimum value of bars so it looks correct upon zooming. ................ r4756 | mdboom | 2007-12-17 10:41:34 -0500 (Mon, 17 Dec 2007) | 2 lines Bugfix ................ r4757 | mdboom | 2007-12-17 10:41:47 -0500 (Mon, 17 Dec 2007) | 2 lines Make filename match example. ................ r4760 | mdboom | 2007-12-17 13:28:03 -0500 (Mon, 17 Dec 2007) | 2 lines Added Mercator latitude scale. ................ r4761 | mdboom | 2007-12-17 13:29:04 -0500 (Mon, 17 Dec 2007) | 2 lines Minor speed improvement ................ r4762 | mdboom | 2007-12-18 08:02:33 -0500 (Tue, 18 Dec 2007) | 2 lines Minor speed improvement ................ r4763 | mdboom | 2007-12-18 08:08:04 -0500 (Tue, 18 Dec 2007) | 2 lines Don't allocate the clipping path buffers unless we need them. ................ r4764 | mdboom | 2007-12-18 10:29:53 -0500 (Tue, 18 Dec 2007) | 2 lines Fix bug in calculating minpos. ................ r4765 | mdboom | 2007-12-18 10:35:06 -0500 (Tue, 18 Dec 2007) | 2 lines Fix log scaling of polar plots. ................ r4766 | mdboom | 2007-12-18 12:36:11 -0500 (Tue, 18 Dec 2007) | 2 lines Improved documentation and efficiency... ................ r4767 | mdboom | 2007-12-18 12:46:01 -0500 (Tue, 18 Dec 2007) | 4 lines Preliminary version of "adding new scales and projections" document. (In reST, since that appears to be where mpl documentation is heading.) ................ r4771 | mdboom | 2007-12-18 16:08:19 -0500 (Tue, 18 Dec 2007) | 2 lines Minor changes. ................ r4772 | mdboom | 2007-12-18 16:09:25 -0500 (Tue, 18 Dec 2007) | 2 lines Better docstrings for set_x/yscale and friends. ................ r4774 | mdboom | 2007-12-19 15:51:16 -0500 (Wed, 19 Dec 2007) | 2 lines Fix aspect ratio bug. ................ r4776 | mdboom | 2007-12-20 08:00:20 -0500 (Thu, 20 Dec 2007) | 2 lines Add very preliminary and experimental support for some geo projections. ................ r4777 | mdboom | 2007-12-20 08:00:48 -0500 (Thu, 20 Dec 2007) | 2 lines Minor bugfix in polar transforms. ................ r4778 | mdboom | 2007-12-20 08:01:07 -0500 (Thu, 20 Dec 2007) | 2 lines Minor efficiency improvement. ................ r4779 | mdboom | 2007-12-20 11:54:34 -0500 (Thu, 20 Dec 2007) | 3 lines Minor speedup by not calculating the position of ticks/grids/text that aren't there. ................ r4780 | mdboom | 2007-12-20 12:14:03 -0500 (Thu, 20 Dec 2007) | 2 lines I can't spell ;( ................ r4781 | mdboom | 2007-12-20 12:14:36 -0500 (Thu, 20 Dec 2007) | 2 lines Remove Mollweide from options, since it's currently broken anyway. ................ r4782 | mdboom | 2007-12-20 12:18:12 -0500 (Thu, 20 Dec 2007) | 2 lines Major speed improvement for non-rectilinear projections. ................ r4784 | mdboom | 2007-12-21 10:13:14 -0500 (Fri, 21 Dec 2007) | 2 lines Update unit test to use Arc instead of Ellipse. ................ r4803 | mdboom | 2008-01-07 16:15:58 -0500 (Mon, 07 Jan 2008) | 5 lines Provide heavily-documented examples for adding new scales and projections. Fix various bugs related to non-rectangular clipping. Remove MercatorLatitude scale from core and put it in an example. ................ r4805 | efiring | 2008-01-07 22:11:38 -0500 (Mon, 07 Jan 2008) | 2 lines Remove spurious right parenthesis ................ svn path=/trunk/matplotlib/; revision=4817
11 parents 451b648 + 121ee67 + 52d462f + c7578a6 + 038e947 + eed5058 + cdf658d + 8baa717 + 6054f22 + 5161141 + 426eabc commit 285530d

359 files changed

Lines changed: 30422 additions & 33675 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

API_CHANGES

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,174 @@
1+
TRANSFORMS REFACTORING
2+
3+
The primary goal of this refactoring was to make it easier to
4+
extend matplotlib to support new kinds of projections. This is
5+
primarily an internal improvement, and the possible user-visible
6+
changes it allows are yet to come.
7+
8+
See transforms.py for a description of the design of the new
9+
transformation framework.
10+
11+
The view intervals are now stored only in one place -- in the Axes
12+
instance, not in the formatter instances as well. This means
13+
formatters must get their limits from their Axis, which in turn
14+
looks up its limits from the Axes. If a Locator is used
15+
temporarily and not assigned to an Axis or Axes, (e.g. in
16+
contour.py), a dummy axis must be created to store its bounds.
17+
Call Locator.create_dummy_axis() to do so.
18+
19+
The functionality of Pbox has been merged with Bbox. Its methods
20+
now all return copies rather than modifying in place.
21+
22+
The following lists many of the simple changes necessary to update
23+
code from the old transformation framework to the new one. In
24+
particular, methods that return a copy are named with a verb in
25+
the past tense, whereas methods that alter an object in place are
26+
named with a very in the present tense.
27+
28+
transforms.py
29+
Bbox.get_bounds() Bbox.bounds
30+
31+
Bbox.width() Bbox.width
32+
33+
Bbox.height() Bbox.height
34+
35+
Bbox.intervalx().get_bounds() Bbox.intervalx
36+
Bbox.intervalx().set_bounds()
37+
[Bbox.intervalx is now a property.]
38+
39+
Bbox.intervaly().get_bounds() Bbox.intervaly
40+
Bbox.intervaly().set_bounds()
41+
[Bbox.intervaly is now a property.]
42+
43+
Bbox.xmin() Bbox.x0 or Bbox.xmin
44+
Bbox.ymin() Bbox.y0 or Bbox.ymin
45+
Bbox.xmax() Bbox.x1 or Bbox.xmax
46+
Bbox.ymax() Bbox.y1 or Bbox.ymax
47+
[The Bbox is bound by the points (x0, y0) to (x1, y1) and
48+
there is no defined order to these points, that is, x0 is not
49+
necessarily the left edge of the box. To get the left edge of
50+
the Bbox, use the read-only property xmin.]
51+
52+
Bbox.overlaps(bboxes) Bbox.count_overlaps(bboxes)
53+
54+
bbox_all(bboxes) Bbox.union(bboxes)
55+
[Bbox.union is a staticmethod.]
56+
57+
lbwh_to_bbox(l, b, w, h) Bbox.from_bounds(x0, y0, w, h)
58+
59+
inverse_transform_bbox(trans, bbox) bbox.inverse_transformed(trans)
60+
61+
Interval.contains_open(v) interval_contains_open(tuple, v)
62+
Interval.contains(v) interval_contains_open(tuple, v)
63+
64+
identity_transform() IdentityTransform()
65+
66+
blend_xy_sep_transform(xtrans, ytrans) blended_transform_factory(xtrans, ytrans)
67+
68+
scale_transform(xs, ys) Affine2D().scale(xs[, ys])
69+
70+
get_bbox_transform(boxin, boxout) BboxTransform(boxin, boxout) or
71+
BboxTransformFrom(boxin) or
72+
BboxTransformTo(boxout)
73+
74+
Transform.seq_xy_tup(points) Transform.transform(points)
75+
76+
Transform.inverse_xy_tup(points) Transform.inverted().transform(points)
77+
78+
axes.py
79+
Axes.get_position() Axes.get_position()
80+
[Axes.get_position() used to return a list of points, not it
81+
returns a transforms.Bbox instance.]
82+
83+
Axes.set_position() Axes.set_position()
84+
[Axes.set_position() now accepts either four scalars or a
85+
transforms Bbox instance.]
86+
87+
[also returns a Bbox]
88+
Axes.toggle_log_lineary() Axes.set_yscale()
89+
[Since the recfactoring allows for more than two scale types
90+
('log' or 'linear'), it no longer makes sense to have a
91+
toggle. Axes.toggle_log_lineary() has been removed.]
92+
93+
Axes.hlines(linestyle=) Axes.hlines(linestyles=)
94+
Axes.vlines(linestyle=) Axes.vlines(linestyles=)
95+
[The kwarg 'linestyle' has been replaced with 'linestyles',
96+
which accepts either a single linestyle or a list of
97+
linestyles to use.]
98+
99+
Subplot class is gone -- now there is only SubplotBase.
100+
101+
The Polar class has moved to projections/polar.py
102+
103+
artist.py
104+
Artist.set_clip_path(path) Artist.set_clip_path(path, transform)
105+
[set_clip_path now accepts a path.Path instance and a
106+
transformation that will be applied to the path immediately
107+
before clipping.]
108+
109+
collections.py
110+
linestyle linestyles
111+
[Linestyles are now treated like all other collection
112+
attributes -- a single value or multiple values may be
113+
provided.]
114+
115+
colors.py
116+
ColorConvertor.to_rgba_list(c) ColorConvertor.to_rgba_array(c)
117+
[ColorConvertor.to_rgba_array(c) returns an Nx4 Numpy array of
118+
RGBA color quadruples.]
119+
120+
contour.py
121+
Contour._segments Contour.get_paths()
122+
[Contour.get_paths() now returns a list of path.Path instances.]
123+
124+
figure.py
125+
Figure.dpi.get()/set() Figure.dpi (a property)
126+
127+
patches.py
128+
get_verts() get_path()
129+
[Patch.get_path() returns a path.Path instance.]
130+
131+
backend_bases.py
132+
GraphicsContext.set_clip_rectangle(tuple) GraphicsContext.set_clip_rectangle(bbox)
133+
134+
GraphicsContext.get_clip_path() GraphicsContext.get_clip_path()
135+
[GraphicsContext.get_clip_path() returns a tuple of the form
136+
(path, affine_transform), where path is a path.Path instance
137+
and affine_transform is a transforms.Affine2D instance.]
138+
139+
GraphicsContext.set_clip_path(clippath) GraphicsContext.set_clip_path(clippath)
140+
[Now accepts only an instance of transforms.TransformedPath.]
141+
142+
RendererBase class:
143+
**new methods** --->
144+
draw_path(self, gc, path, transform, rgbFace)
145+
146+
draw_markers(self, gc, marker_path, marker_trans, path, trans, rgbFace)
147+
148+
draw_path_collection(self, master_transform, cliprect, clippath,
149+
clippath_trans, paths, all_transforms, offsets,
150+
offsetTrans, facecolors, edgecolors, linewidths,
151+
linestyles, antialiaseds) [optional]
152+
153+
154+
**changed methods** --->
155+
draw_image(self, x, y, im, bbox) draw_image(self, x, y, im, bbox,
156+
clippath, clippath_trans)
157+
158+
**removed methods** --->
159+
draw_arc
160+
draw_line_collection
161+
draw_line
162+
draw_lines
163+
draw_point
164+
draw_quad_mesh
165+
draw_poly_collection
166+
draw_polygon
167+
draw_rectangle
168+
draw_regpoly_collection
169+
170+
END OF TRANSFORMS REFACTORING
171+
1172
0.91.2 Released
2173

3174
For csv2rec, checkrows=0 is the new default indicating all rows

CHANGELOG

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,75 @@
136136
2007-10-31 Made log color scale easier to use with contourf;
137137
automatic level generation now works. - EF
138138

139+
2007-10-29 TRANSFORMS REFACTORING
140+
141+
The primary goal of this refactoring was to make it easier
142+
to extend matplotlib to support new kinds of projections.
143+
This is primarily an internal improvement, and the possible
144+
user-visible changes it allows are yet to come.
145+
146+
The transformation framework was completely rewritten in
147+
Python (with Numpy). This will make it easier to add news
148+
kinds of transformations without writing C/C++ code.
149+
150+
Transforms are composed into a 'transform tree', made of
151+
transforms whose value depends on other transforms (their
152+
children). When the contents of children change, their
153+
parents are automatically updated to reflect those changes.
154+
To do this an "invalidation" method is used: when children
155+
change, all of their ancestors are marked as "invalid".
156+
When the value of a transform is accessed at a later time,
157+
its value is recomputed only if it is invalid, otherwise a
158+
cached value may be used. This prevents unnecessary
159+
recomputations of transforms, and contributes to better
160+
interactive performance.
161+
162+
The framework can be used for both affine and non-affine
163+
transformations. However, for speed, we want use the
164+
backend renderers to perform affine transformations
165+
whenever possible. Therefore, it is possible to perform
166+
just the affine or non-affine part of a transformation on a
167+
set of data. The affine is always assumed to occur after
168+
the non-affine. For any transform:
169+
170+
full transform == non-affine + affine
171+
172+
Much of the drawing has been refactored in terms of
173+
compound paths. Therefore, many methods have been removed
174+
from the backend interface and replaced with a a handful to
175+
draw compound paths. This will make updating the backends
176+
easier, since there is less to update. It also should make
177+
the backends more consistent in terms of functionality.
178+
179+
User visible changes:
180+
181+
- POLAR PLOTS: Polar plots are now interactively zoomable,
182+
and the r-axis labels can be interactively rotated.
183+
Straight line segments are now interpolated to follow the
184+
curve of the r-axis.
185+
186+
- Non-rectangular clipping works in more backends and with
187+
more types of objects.
188+
189+
- Sharing an axis across figures is now done in exactly
190+
the same way as sharing an axis between two axes in the
191+
same figure:
192+
193+
fig1 = figure()
194+
fig2 = figure()
195+
196+
ax1 = fig1.add_subplot(111)
197+
ax2 = fig2.add_subplot(111, sharex=ax1, sharey=ax1)
198+
199+
- linestyles now include steps-pre, steps-post and
200+
steps-mid. The old step still works and is equivalent to
201+
step-pre.
202+
203+
- Multiple line styles may be provided to a collection.
204+
205+
See API_CHANGES for more low-level information about this
206+
refactoring.
207+
139208
2007-10-24 Added ax kwarg to Figure.colorbar and pyplot.colorbar - EF
140209

141210
2007-10-19 Removed a gsave/grestore pair surrounding _draw_ps, which

MIGRATION.txt

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Michael Droettboom has spent the last several months working on the
55
"transforms branch" of matplotlib, in which he rewrote from the ground
66
up the transformation infrastructure in matplotlib, which many found
77
unintuitive and hard to extend. In addition to a cleaner code base,
8-
the refactoring allows you to define your own transformations and
8+
the reorganization allows you to define your own transformations and
99
projections (e.g. map projections) within matplotlib. He has merged his
1010
work into the HEAD of the svn trunk, and this will be the basis for
1111
future matplotlib releases.
@@ -24,12 +24,12 @@ infrastructure but nonetheless need access to svn bug fixes.
2424
Using the new code
2525
==================
2626

27-
To check out the trunk with the latest transforms refactoring:
27+
To check out the trunk with the latest transforms changes:
2828

2929
> svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib
3030

3131
If you already have a working copy of the trunk, your next "svn up" will
32-
include the latest transforms refactoring.
32+
include the latest transforms changes.
3333

3434
Using the old svn code
3535
======================
@@ -38,8 +38,30 @@ To check out the maintenance branch, in order to commit bugfixes to 0.91.x:
3838

3939
> svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_91_maint matplotlib_0_91_maint
4040

41-
Any applicable bugfixes on the 0.91.x should be merged into the trunk so
42-
they are fixed there as well.
41+
Any applicable bugfixes on the 0.91.x maintenance branch should be
42+
merged into the trunk so they are fixed there as well. Svnmerge.py
43+
makes this process rather straightforward, but you may also manually
44+
merge if you prefer.
45+
46+
Merging bugfixes on the maint branch to the trunk using svnmerge.py
47+
-------------------------------------------------------------------
48+
49+
Download svnmerge.py from here:
50+
51+
http://www.orcaware.com/svn/wiki/Svnmerge.py
52+
53+
From the working copy of the *trunk* (svnmerge.py always pulls *to*
54+
the current working copy), so
55+
56+
> svnmerge.py merge
57+
58+
to pull in changes from the maintenance branch. Manually resolve any
59+
conflicts, if necessary, test them, and then commit with
60+
61+
> svn commit -F svnmerge-commit-message.txt
62+
63+
(Note the above will stop working when the maintenance branch is
64+
abandoned.)
4365

4466
API CHANGES in the new transformation infrastructure
4567
====================================================
@@ -48,7 +70,7 @@ While Michael worked hard to keep the API mostly unchanged while
4870
performing what has been called "open heart surgery on matplotlib",
4971
there have been some changes, as discussed below.
5072

51-
The primary goal of this refactoring was to make it easier to
73+
The primary goal of these changes was to make it easier to
5274
extend matplotlib to support new kinds of projections. This is
5375
primarily an internal improvement, and the possible user-visible
5476
changes it allows are yet to come.

0 commit comments

Comments
 (0)