|
From: <jd...@us...> - 2010-11-09 15:25:58
|
Revision: 8786
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8786&view=rev
Author: jdh2358
Date: 2010-11-09 15:25:50 +0000 (Tue, 09 Nov 2010)
Log Message:
-----------
Merged revisions 8785 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_maint
........
r8785 | jdh2358 | 2010-11-09 07:23:25 -0800 (Tue, 09 Nov 2010) | 1 line
fix a bug in context so plot directive will be forced to run (but not save) figs which are already cached
........
Modified Paths:
--------------
trunk/matplotlib/doc/users/annotations_guide.rst
trunk/matplotlib/doc/users/gridspec.rst
trunk/matplotlib/doc/users/image_tutorial.rst
trunk/matplotlib/doc/users/recipes.rst
trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
Removed Paths:
-------------
trunk/matplotlib/examples/units/date_converter.py
trunk/matplotlib/examples/units/date_support.py
Property Changed:
----------------
trunk/matplotlib/
trunk/matplotlib/doc/pyplots/README
trunk/matplotlib/doc/sphinxext/gen_gallery.py
trunk/matplotlib/doc/sphinxext/gen_rst.py
trunk/matplotlib/examples/misc/multiprocess.py
trunk/matplotlib/examples/mplot3d/contour3d_demo.py
trunk/matplotlib/examples/mplot3d/contourf3d_demo.py
trunk/matplotlib/examples/mplot3d/polys3d_demo.py
trunk/matplotlib/examples/mplot3d/scatter3d_demo.py
trunk/matplotlib/examples/mplot3d/surface3d_demo.py
trunk/matplotlib/examples/mplot3d/wire3d_demo.py
trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
- /branches/mathtex:1-7263 /branches/v0_98_5_maint:1-7253 /branches/v0_91_maint:1-6428 /branches/v1_0_maint:1-8780 /trunk/matplotlib:1-7315
+ /trunk/matplotlib:1-7315 /branches/mathtex:1-7263 /branches/v0_98_5_maint:1-7253 /branches/v0_91_maint:1-6428 /branches/v1_0_maint:1-8785
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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/pyplots/README:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/pyplots/README:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/sphinxext/gen_gallery.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/sphinxext/gen_gallery.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/sphinxext/gen_rst.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /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:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/doc/sphinxext/gen_rst.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Modified: trunk/matplotlib/doc/users/annotations_guide.rst
===================================================================
--- trunk/matplotlib/doc/users/annotations_guide.rst 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/doc/users/annotations_guide.rst 2010-11-09 15:25:50 UTC (rev 8786)
@@ -310,6 +310,7 @@
as 2. The callable object should take a single argument of
renderer instance. For example, following two commands give
identical results ::
+
an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1,
xytext=(30,0), textcoords="offset points")
an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1.get_window_extent,
@@ -322,7 +323,7 @@
annotate("Test", xy=(0.5, 1), xycoords=("data", "axes fraction"))
0.5 is in data coordinate, and 1 is in normalized axes coordinate.
- You may use an atist or transform as with a tuple. For example,
+ You may use an atist or transform as with a tuple. For example,
.. plot:: users/plotting/examples/annotate_simple_coord02.py
:include-source:
Modified: trunk/matplotlib/doc/users/gridspec.rst
===================================================================
--- trunk/matplotlib/doc/users/gridspec.rst 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/doc/users/gridspec.rst 2010-11-09 15:25:50 UTC (rev 8786)
@@ -1,4 +1,4 @@
-.. _gridspec-guide:
+\.. _gridspec-guide:
************************************************
@@ -23,7 +23,7 @@
====================================
To use subplot2grid, you provide geometry of the grid and the location
-of the subplot in the grid. For a simple single-cell subplot, ::
+of the subplot in the grid. For a simple single-cell subplot::
ax = plt.subplot2grid((2,2),(0, 0))
Modified: trunk/matplotlib/doc/users/image_tutorial.rst
===================================================================
--- trunk/matplotlib/doc/users/image_tutorial.rst 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/doc/users/image_tutorial.rst 2010-11-09 15:25:50 UTC (rev 8786)
@@ -40,8 +40,7 @@
Importing image data into Numpy arrays
===============================================
-Plotting image data is supported by the Python Image Library (`PIL
-<http://www.pythonware.com/products/pil/>`_), . Natively, matplotlib
+Plotting image data is supported by the Python Image Library (`PIL <http://www.pythonware.com/products/pil/>`_), . Natively, matplotlib
only supports PNG images. The commands shown below fall back on PIL
if the native read fails.
@@ -122,8 +121,7 @@
data. Why 8 bits? Most displays can only render 8 bits per channel
worth of color gradation. Why can they only render 8 bits/channel?
Because that's about all the human eye can see. More here (from a
-photography standpoint): `Luminous Landscape bit depth tutorial
-<http://www.luminous-landscape.com/tutorials/bit-depth.shtml>`_.
+photography standpoint): `Luminous Landscape bit depth tutorial <http://www.luminous-landscape.com/tutorials/bit-depth.shtml>`_.
Each inner list represents a pixel. Here, with an RGB image, there
are 3 values. Since it's a black and white image, R, G, and B are all
@@ -179,8 +177,7 @@
In [6]: lum_img = img[:,:,0]
-This is array slicing. You can read more in the `Numpy tutorial
-<http://www.scipy.org/Tentative_NumPy_Tutorial>`_.
+This is array slicing. You can read more in the `Numpy tutorial <http://www.scipy.org/Tentative_NumPy_Tutorial>`_.
.. sourcecode:: ipython
@@ -229,9 +226,7 @@
imgplot = plt.imshow(lum_img)
imgplot.set_cmap('spectral')
-There are many other colormap schemes available. See the `list and
-images of the colormaps
-<http://matplotlib.sourceforge.net/examples/pylab_examples/show_colormaps.html>`_.
+There are many other colormap schemes available. See the `list and images of the colormaps <http://matplotlib.sourceforge.net/examples/pylab_examples/show_colormaps.html>`_.
.. _Color Bars
Modified: trunk/matplotlib/doc/users/recipes.rst
===================================================================
--- trunk/matplotlib/doc/users/recipes.rst 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/doc/users/recipes.rst 2010-11-09 15:25:50 UTC (rev 8786)
@@ -56,21 +56,30 @@
everything at once, and turn off x and y sharing for the whole bunch.
You can either unpack the axes individually::
- # new style method 1
- fig, (ax1, ax2, ax3, ax4) = plt.subplots(2, 2, sharex=True, sharey=True)
+ # new style method 1; unpack the axes
+ fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True, sharey=True)
ax1.plot(x)
or get them back as a numrows x numcolumns object array which supports
numpy indexing::
- # new style method 2
+ # new style method 2; use an axes array
fig, axs = plt.subplots(2, 2, sharex=True, sharey=True)
axs[0,0].plot(x)
+
Fixing common date annoyances
=============================
+
+.. plot::
+ :nofigs:
+ :context:
+
+ # clear the state for context use below
+ plt.close('all')
+
matplotlib allows you to natively plots python datetime instances, and
for the most part does a good job picking tick locations and string
formats. There are a couple of things it does not handle so
@@ -97,13 +106,15 @@
objects are datetime.date instances, which we can see when we print
some samples in the ipython terminal window.
-If you plot the data, you will see that the x tick labels are all
-squashed together::
+If you plot the data, ::
In [67]: plot(r.date, r.close)
Out[67]: [<matplotlib.lines.Line2D object at 0x92a6b6c>]
+you will see that the x tick labels are all squashed together.
+
.. plot::
+ :context:
import matplotlib.cbook as cbook
datafile = cbook.get_sample_data('goog.npy')
@@ -113,23 +124,22 @@
plt.title('Default date handling can cause overlapping labels')
Another annoyance is that if you hover the mouse over a the window and
-look in the lower right corner of the matplotlib toolbar at the x and
-y coordinates, you see that the x locations are formatted the same way
-the tick labels are, eg "Dec 2004". What we'd like is for the
-location in the toolbar to have a higher degree of precision, eg
-giving us the exact date out mouse is hovering over. To fix the first
-problem, we can use method:`matplotlib.figure.Figure.autofmt_xdate()`
-and to fix the second problem we can use the ``ax.fmt_xdata``
-attribute which can be set to any function that takes a position and
-returns a string. matplotlib has a number of date formatters built
-im, so we'll use one of those.
+look in the lower right corner of the matplotlib toolbar
+(:ref:`navigation-toolbar`) at the x and y coordinates, you see that
+the x locations are formatted the same way the tick labels are, eg
+"Dec 2004". What we'd like is for the location in the toolbar to have
+a higher degree of precision, eg giving us the exact date out mouse is
+hovering over. To fix the first problem, we can use
+method:`matplotlib.figure.Figure.autofmt_xdate` and to fix the second
+problem we can use the ``ax.fmt_xdata`` attribute which can be set to
+any function that takes a scalar and returns a string. matplotlib has
+a number of date formatters built in, so we'll use one of those.
.. plot::
:include-source:
+ :context:
- import matplotlib.cbook as cbook
- datafile = cbook.get_sample_data('goog.npy')
- r = np.load(datafile).view(np.recarray)
+ plt.close('all')
fig, ax = plt.subplots(1)
ax.plot(r.date, r.close)
@@ -140,10 +150,10 @@
# toolbar
import matplotlib.dates as mdates
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d')
- plt.title('autfmt_xdate fixes the labels')
+ plt.title('fig.autofmt_xdate fixes the labels')
Now when you hover your mouse over the plotted data, you'll see date
-format strings like 2004-12-01.
+format strings like 2004-12-01 in the toolbar.
Fill Between and Alpha
======================
@@ -154,7 +164,7 @@
combine filling with logical ranges, eg to just fill in a curve over
some threshold value.
-At it's most basic level, ``fill_between`` can be use to enhance a
+At its most basic level, ``fill_between`` can be use to enhance a
graphs visual appearance. Let's compare two graphs of a financial
times with a simple line plot on the left and a filled line on the
right.
@@ -162,6 +172,9 @@
.. plot::
:include-source:
+ import matplotlib.pyplot as plt
+ import numpy as np
+
import matplotlib.cbook as cbook
# load up some sample financial data
@@ -180,6 +193,9 @@
ax.grid(True)
ax1.set_ylabel('price')
+ for label in ax2.get_yticklabels():
+ label.set_visible(False)
+
fig.suptitle('Google (GOOG) daily closing price')
fig.autofmt_xdate()
@@ -193,21 +209,24 @@
Our next example computes two populations of random walkers with a
different mean and standard deviation of the normal distributions from
-which there steps are drawn. We use shared regions to plot +/- one
+which the steps are drawn. We use shared regions to plot +/- one
standard deviation of the mean position of the population. Here the
alpha channel is useful, not just aesthetic.
.. plot::
:include-source:
+ import matplotlib.pyplot as plt
+ import numpy as np
+
Nsteps, Nwalkers = 100, 250
t = np.arange(Nsteps)
- # an Nsteps x Nwalkers array of random walk steps
+ # an (Nsteps x Nwalkers) array of random walk steps
S1 = 0.002 + 0.01*np.random.randn(Nsteps, Nwalkers)
S2 = 0.004 + 0.02*np.random.randn(Nsteps, Nwalkers)
- # an Nsteps x Nwalkers array of random walker positions
+ # an (Nsteps x Nwalkers) array of random walker positions
X1 = S1.cumsum(axis=0)
X2 = S2.cumsum(axis=0)
@@ -232,16 +251,16 @@
ax.grid()
-The where keyword argument is very handy for highlighting certain
-regions of the graph. Where takes a boolean mask the same length as
-the x, ymin and ymax arguments, and only fills in the region where the
-boolean mask is True. In the example below, we take a a single random
-walker and compute the analytic mean and standard deviation of the
-population positions. The population mean is shown as the black
+The ``where`` keyword argument is very handy for highlighting certain
+regions of the graph. ``where`` takes a boolean mask the same length
+as the x, ymin and ymax arguments, and only fills in the region where
+the boolean mask is True. In the example below, we simulate a single
+random walker and compute the analytic mean and standard deviation of
+the population positions. The population mean is shown as the black
dashed line, and the plus/minus one sigma deviation from the mean is
showsn as the yellow filled region. We use the where mask
-``X>upper_bound`` to find the region where the walker is above the
-one sigma boundary, and shade that region blue.
+``X>upper_bound`` to find the region where the walker is above the one
+sigma boundary, and shade that region blue.
.. plot::
:include-source:
@@ -258,7 +277,7 @@
S = mu + sigma*np.random.randn(Nsteps)
X = S.cumsum()
- # the 1 sigma upper and lower population bounds
+ # the 1 sigma upper and lower analytic population bounds
lower_bound = mu*t - sigma*np.sqrt(t)
upper_bound = mu*t + sigma*np.sqrt(t)
@@ -323,9 +342,9 @@
When decorating axes with text boxes, two useful tricks are to place
the text in axes coordinates (see :ref:`transforms_tutorial`), so the
text doesn't move around with changes in x or y limits. You can also
-use the bbox property of text to surround the text with a
-:class:`~matplotlib.patches.Patch` instance -- the boox keyword argument
-takes a dictionary with keys that are Patch properties.
+use the ``bbox`` property of text to surround the text with a
+:class:`~matplotlib.patches.Patch` instance -- the ``bbox`` keyword
+argument takes a dictionary with keys that are Patch properties.
.. plot::
:include-source:
Property changes on: trunk/matplotlib/examples/misc/multiprocess.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/misc/log.py:5753-5771
/branches/v0_98_5_maint/examples/misc/log.py: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
/branches/v0_99_maint/examples/misc/multiprocess.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/misc/multiprocess.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/misc/log.py:5753-5771
/branches/v0_98_5_maint/examples/misc/log.py: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
/branches/v0_99_maint/examples/misc/multiprocess.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/misc/multiprocess.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/contour3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/contour.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contour.py: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
/branches/v0_99_maint/examples/mplot3d/contour3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/contour3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/contour.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contour.py: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
/branches/v0_99_maint/examples/mplot3d/contour3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/contour3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/contourf3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/contourf.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contourf.py: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
/branches/v0_99_maint/examples/mplot3d/contourf3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/contourf3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/contourf.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contourf.py: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
/branches/v0_99_maint/examples/mplot3d/contourf3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/contourf3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/polys3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/polys.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/polys.py: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
/branches/v0_99_maint/examples/mplot3d/polys3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/polys3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/polys.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/polys.py: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
/branches/v0_99_maint/examples/mplot3d/polys3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/polys3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/scatter3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/scatter.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/scatter.py: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
/branches/v0_99_maint/examples/mplot3d/scatter3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/scatter3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/scatter.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/scatter.py: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
/branches/v0_99_maint/examples/mplot3d/scatter3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/scatter3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/surface3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/surface.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/surface.py: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
/branches/v0_99_maint/examples/mplot3d/surface3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/surface3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/surface.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/surface.py: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
/branches/v0_99_maint/examples/mplot3d/surface3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/surface3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/examples/mplot3d/wire3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/examples/mplot3d/wire.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/wire.py: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
/branches/v0_99_maint/examples/mplot3d/wire3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/wire3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/examples/mplot3d/wire.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/wire.py: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
/branches/v0_99_maint/examples/mplot3d/wire3d_demo.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/examples/mplot3d/wire3d_demo.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Deleted: trunk/matplotlib/examples/units/date_converter.py
===================================================================
--- trunk/matplotlib/examples/units/date_converter.py 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/examples/units/date_converter.py 2010-11-09 15:25:50 UTC (rev 8786)
@@ -1,20 +0,0 @@
-import date_support # set up the date converters
-import datetime
-from matplotlib.dates import drange
-from pylab import figure, show
-import numpy as np
-
-
-xmin = datetime.date(2007,1,1)
-xmax = datetime.date.today()
-delta = datetime.timedelta(days=1)
-xdates = drange(xmin, xmax, delta)
-
-fig = figure()
-fig.subplots_adjust(bottom=0.2)
-ax = fig.add_subplot(111)
-ax.plot(xdates, np.random.rand(len(xdates)), 'o')
-ax.set_xlim(datetime.date(2007,2,1), datetime.date(2007,3,1))
-
-fig.autofmt_xdate()
-show()
Deleted: trunk/matplotlib/examples/units/date_support.py
===================================================================
--- trunk/matplotlib/examples/units/date_support.py 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/examples/units/date_support.py 2010-11-09 15:25:50 UTC (rev 8786)
@@ -1,36 +0,0 @@
-import matplotlib
-matplotlib.rcParams['units'] = True
-from matplotlib.cbook import iterable, is_numlike
-import matplotlib.units as units
-import matplotlib.dates as dates
-import matplotlib.ticker as ticker
-import datetime
-
-class DateConverter(units.ConversionInterface):
-
- @staticmethod
- def axisinfo(unit, axis):
- 'return the unit AxisInfo'
- if unit=='date':
- majloc = dates.AutoDateLocator()
- majfmt = dates.AutoDateFormatter(majloc)
- return units.AxisInfo(
- majloc = majloc,
- majfmt = majfmt,
- label='date',
- )
- else: return None
-
- @staticmethod
- def convert(value, unit, axis):
- if units.ConversionInterface.is_numlike(value): return value
- return dates.date2num(value)
-
- @staticmethod
- def default_units(x, axis):
- 'return the default unit for x or None'
- return 'date'
-
-
-units.registry[datetime.date] = DateConverter()
-units.registry[datetime.datetime] = DateConverter()
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py: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/lib/matplotlib/sphinxext/mathmpl.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/mathmpl.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py: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/lib/matplotlib/sphinxext/mathmpl.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/mathmpl.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py: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/lib/matplotlib/sphinxext/only_directives.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/only_directives.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py: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/lib/matplotlib/sphinxext/only_directives.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/only_directives.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Modified: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py 2010-11-09 15:23:25 UTC (rev 8785)
+++ trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py 2010-11-09 15:25:50 UTC (rev 8786)
@@ -210,6 +210,7 @@
if plot_code is not None:
exec_code = 'import numpy as np; import matplotlib.pyplot as plt\n%s'%plot_code
+ #print 'CONTEXT', context, plot_context, exec_code
if context:
exec(exec_code, None, plot_context)
else:
@@ -279,6 +280,8 @@
basedir, fname = os.path.split(plot_path)
basename, ext = os.path.splitext(fname)
+
+
all_exists = True
# Look for single-figure output files first
@@ -288,7 +291,7 @@
all_exists = False
break
- if all_exists:
+ if not context and all_exists:
return 1
# Then look for multi-figure output files, assuming
@@ -307,7 +310,7 @@
else:
break
- if i != 0:
+ if not context and i != 0:
return i
# We didn't find the files, so build them
@@ -321,13 +324,17 @@
warnings.warn(s, PlotWarning)
return 0
- num_figs = run_savefig(plot_path, basename, tmpdir, destdir, formats)
+ if not all_exists:
+ num_figs = run_savefig(plot_path, basename, tmpdir, destdir, formats)
- if '__plot__' in sys.modules:
- del sys.modules['__plot__']
+ if '__plot__' in sys.modules:
+ del sys.modules['__plot__']
- return num_figs
+ return num_figs
+ else:
+ return 1
+
def _plot_directive(plot_path, basedir, function_name, plot_code, caption,
options, state_machine):
context = options.has_key('context')
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,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/lib/matplotlib/sphinxext/plot_directive.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/plot_directive.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,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/lib/matplotlib/sphinxext/plot_directive.py:7323-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,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/sphinxext/plot_directive.py:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
Property changes on: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_99_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:7323-7337,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780
+ /branches/v0_99_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:7323-7337,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
/branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:8521,8524-8541,8543,8549,8554,8557,8559-8564,8566,8573,8575,8577,8579,8581,8583,8585,8588,8590,8593,8595,8601,8603,8610,8614,8627-8628,8630,8632,8643,8645,8647-8667,8673,8675,8677,8679,8690-8697,8704,8706,8708,8714-8715,8717-8720,8722-8725,8732-8734,8747,8764,8769-8770,8772,8774,8776,8778,8780,8785
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|