You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(115) |
Aug
(120) |
Sep
(137) |
Oct
(170) |
Nov
(461) |
Dec
(263) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(120) |
Feb
(74) |
Mar
(35) |
Apr
(74) |
May
(245) |
Jun
(356) |
Jul
(240) |
Aug
(115) |
Sep
(78) |
Oct
(225) |
Nov
(98) |
Dec
(271) |
| 2009 |
Jan
(132) |
Feb
(84) |
Mar
(74) |
Apr
(56) |
May
(90) |
Jun
(79) |
Jul
(83) |
Aug
(296) |
Sep
(214) |
Oct
(76) |
Nov
(82) |
Dec
(66) |
| 2010 |
Jan
(46) |
Feb
(58) |
Mar
(51) |
Apr
(77) |
May
(58) |
Jun
(126) |
Jul
(128) |
Aug
(64) |
Sep
(50) |
Oct
(44) |
Nov
(48) |
Dec
(54) |
| 2011 |
Jan
(68) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <jd...@us...> - 2009-08-03 19:31:11
|
Revision: 7337
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7337&view=rev
Author: jdh2358
Date: 2009-08-03 19:31:05 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
removed a couple of cases of mlab.load
Modified Paths:
--------------
branches/v0_99_maint/doc/_templates/indexsidebar.html
branches/v0_99_maint/doc/api/spine_api.rst
branches/v0_99_maint/doc/pyplots/plotmap.py
branches/v0_99_maint/examples/pylab_examples/load_converter.py
Modified: branches/v0_99_maint/doc/_templates/indexsidebar.html
===================================================================
--- branches/v0_99_maint/doc/_templates/indexsidebar.html 2009-08-03 17:40:17 UTC (rev 7336)
+++ branches/v0_99_maint/doc/_templates/indexsidebar.html 2009-08-03 19:31:05 UTC (rev 7337)
@@ -3,17 +3,12 @@
<p>Please <a href="http://sourceforge.net/project/project_donations.php?group_id=80706">donate</a>
to support matplotlib development.</p>
-<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">video lecture</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>Machine Learning Open Source Software</i></a>.
+<p>A release candidate rc1 of matplotlib-0.99.0 is <a href="http://drop.io/xortel1#">available</a> for testing. Please post any bugs to the <a href="http://sourceforge.net/tracker2/?group_id=80706">tracker</a>
</p>
-<p>Nominate matplotlib for a community choice award by clicking the
-image below -- suggested category "Best Project for Academia" for
-software which "helps you hit the books, analyze global trends, or
-just understand the world a little bit better than you did before":
-<a href="http://sourceforge.net/community/cca09/nominate/?project_name=matplotlib&project_url=http://sourceforge.net/projects/matplotlib/"><img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0"/></a>
+<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">video lecture</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>Machine Learning Open Source Software</i></a>.
</p>
-
<h3>Download</h3>
<p>Current version: <b>{{ version }}</b></p>
Modified: branches/v0_99_maint/doc/api/spine_api.rst
===================================================================
--- branches/v0_99_maint/doc/api/spine_api.rst 2009-08-03 17:40:17 UTC (rev 7336)
+++ branches/v0_99_maint/doc/api/spine_api.rst 2009-08-03 19:31:05 UTC (rev 7337)
@@ -4,7 +4,7 @@
:mod:`matplotlib.spine`
-======================
+========================
.. automodule:: matplotlib.spine
:members:
Modified: branches/v0_99_maint/doc/pyplots/plotmap.py
===================================================================
--- branches/v0_99_maint/doc/pyplots/plotmap.py 2009-08-03 17:40:17 UTC (rev 7336)
+++ branches/v0_99_maint/doc/pyplots/plotmap.py 2009-08-03 19:31:05 UTC (rev 7337)
@@ -5,7 +5,9 @@
# the data is interpolated to the native projection grid.
import os
from mpl_toolkits.basemap import Basemap, shiftgrid
-from pylab import title, colorbar, show, axes, cm, load, arange, figure, \
+import numpy as np
+
+from pylab import title, colorbar, show, axes, cm, arange, figure, \
text
# read in topo data (on a regular lat/lon grid)
@@ -15,9 +17,9 @@
if not os.path.exists(datadir):
raise SystemExit('You need to download the data with svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/htdocs/screenshots/data/" and set the datadir variable in %s'%__file__)
-topoin = load(os.path.join(datadir, 'etopo20data.gz'))
-lons = load(os.path.join(datadir, 'etopo20lons.gz'))
-lats = load(os.path.join(datadir, 'etopo20lats.gz'))
+topoin = np.loadtxt(os.path.join(datadir, 'etopo20data.gz'))
+lons = np.loadtxt(os.path.join(datadir, 'etopo20lons.gz'))
+lats = np.loadtxt(os.path.join(datadir, 'etopo20lats.gz'))
# shift data so lons go from -180 to 180 instead of 20 to 380.
topoin,lons = shiftgrid(180.,topoin,lons,start=False)
Modified: branches/v0_99_maint/examples/pylab_examples/load_converter.py
===================================================================
--- branches/v0_99_maint/examples/pylab_examples/load_converter.py 2009-08-03 17:40:17 UTC (rev 7336)
+++ branches/v0_99_maint/examples/pylab_examples/load_converter.py 2009-08-03 19:31:05 UTC (rev 7337)
@@ -1,8 +1,9 @@
from matplotlib.dates import strpdate2num
-from matplotlib.mlab import load
+#from matplotlib.mlab import load
+import numpy as np
from pylab import figure, show
-dates, closes = load(
+dates, closes = np.loadtxt(
'../data/msft.csv', delimiter=',',
converters={0:strpdate2num('%d-%b-%y')},
skiprows=1, usecols=(0,2), unpack=True)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-03 17:40:25
|
Revision: 7336
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7336&view=rev
Author: jdh2358
Date: 2009-08-03 17:40:17 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
fixed rec2csv win32 file handle bug from sf patch 2831018
Modified Paths:
--------------
branches/v0_99_maint/lib/matplotlib/mlab.py
Modified: branches/v0_99_maint/lib/matplotlib/mlab.py
===================================================================
--- branches/v0_99_maint/lib/matplotlib/mlab.py 2009-08-03 17:19:42 UTC (rev 7335)
+++ branches/v0_99_maint/lib/matplotlib/mlab.py 2009-08-03 17:40:17 UTC (rev 7336)
@@ -2595,7 +2595,7 @@
for i, name in enumerate(r.dtype.names):
funcs.append(with_mask(csvformat_factory(formatd[name]).tostr))
- fh, opened = cbook.to_filehandle(fname, 'w', return_opened=True)
+ fh, opened = cbook.to_filehandle(fname, 'wb', return_opened=True)
writer = csv.writer(fh, delimiter=delimiter)
header = r.dtype.names
if withheader:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-03 17:20:06
|
Revision: 7335
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7335&view=rev
Author: jdh2358
Date: 2009-08-03 17:19:42 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
added two examples from Josh Hemann
Added Paths:
-----------
branches/v0_99_maint/examples/pylab_examples/barchart_demo2.py
branches/v0_99_maint/examples/pylab_examples/boxplot_demo2.py
Added: branches/v0_99_maint/examples/pylab_examples/barchart_demo2.py
===================================================================
--- branches/v0_99_maint/examples/pylab_examples/barchart_demo2.py (rev 0)
+++ branches/v0_99_maint/examples/pylab_examples/barchart_demo2.py 2009-08-03 17:19:42 UTC (rev 7335)
@@ -0,0 +1,107 @@
+"""
+Thanks Josh Hemann for the example
+
+This examples comes from an application in which grade school gym
+teachers wanted to be able to show parents how their child did across
+a handful of fitness tests, and importantly, relative to how other
+children did. To extract the plotting code for demo purposes, we'll
+just make up some data for little Johnny Doe...
+
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+import pylab
+from matplotlib.patches import Polygon
+from matplotlib.ticker import MaxNLocator
+
+
+
+student = 'Johnny Doe'
+grade = 2
+gender = 'boy'
+cohortSize = 62 #The number of other 2nd grade boys
+
+numTests = 5
+testNames = ['Pacer Test', 'Flexed Arm\n Hang', 'Mile Run', 'Agility',
+ 'Push Ups']
+testMeta = ['laps', 'sec', 'min:sec', 'sec', '']
+scores = ['7', '48', '12:52', '17', '14']
+rankings = np.round(np.random.uniform(0, 1, numTests)*100, 0)
+
+fig = plt.figure(figsize=(9,7))
+ax1 = fig.add_subplot(111)
+plt.subplots_adjust(left=0.115, right=0.88)
+fig.canvas.set_window_title('Eldorado K-8 Fitness Chart')
+pos = np.arange(numTests)+0.5 #Center bars on the Y-axis ticks
+rects = ax1.barh(pos, rankings, align='center', height=0.5, color='m')
+
+ax1.axis([0,100,0,5])
+pylab.yticks(pos, testNames)
+ax1.set_title('Johnny Doe')
+plt.text(50, -0.5, 'Cohort Size: ' + str(cohortSize),
+ horizontalalignment='center', size='small')
+
+# Set the right-hand Y-axis ticks and labels and set X-axis tick marks at the
+# deciles
+ax2 = ax1.twinx()
+ax2.plot([100,100], [0, 5], 'white', alpha=0.1)
+ax2.xaxis.set_major_locator(MaxNLocator(11))
+xticks = pylab.setp(ax2, xticklabels=['0','10','20','30','40','50','60',
+'70',
+ '80','90','100'])
+ax2.xaxis.grid(True, linestyle='--', which='major', color='grey',
+alpha=0.25)
+#Plot a solid vertical gridline to highlight the median position
+plt.plot([50,50], [0, 5], 'grey', alpha=0.25)
+
+# Build up the score labels for the right Y-axis by first appending a carriage
+# return to each string and then tacking on the appropriate meta information
+# (i.e., 'laps' vs 'seconds'). We want the labels centered on the ticks, so if
+# there is no meta info (like for pushups) then don't add the carriage return to
+# the string
+
+def withnew(i, scr):
+ if testMeta[i] != '' : return '%s\n'%scr
+ else: return scr
+scoreLabels = [withnew(i, scr) for i,scr in enumerate(scores)]
+scoreLabels = [i+j for i,j in zip(scoreLabels, testMeta)]
+pylab.yticks(pos, scoreLabels)
+ax2.set_ylabel('Test Scores')
+#Make list of numerical suffixes corresponding to position in a list
+# 0 1 2 3 4 5 6 7 8 9
+suffixes =['th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th']
+ax2.set_xlabel('Percentile Ranking Across ' + str(grade) + suffixes[grade] \
+ + ' Grade ' + gender.title() + 's')
+
+# Lastly, write in the ranking inside each bar to aid in interpretation
+for rect in rects:
+ # Rectangle widths are already integer-valued but are floating
+ # type, so it helps to remove the trailing decimal point and 0 by
+ # converting width to int type
+ width = int(rect.get_width())
+
+ # Figure out what the last digit (width modulo 10) so we can add
+ # the appropriate numerical suffix (e.g. 1st, 2nd, 3rd, etc)
+ lastDigit = width % 10
+ # Note that 11, 12, and 13 are special cases
+ if (width == 11) or (width == 12) or (width == 13):
+ suffix = 'th'
+ else:
+ suffix = suffixes[lastDigit]
+
+ rankStr = str(width) + suffix
+ if (width < 5): # The bars aren't wide enough to print the ranking inside
+ xloc = width + 1 # Shift the text to the right side of the right edge
+ clr = 'black' # Black against white background
+ align = 'left'
+ else:
+ xloc = 0.98*width # Shift the text to the left side of the right edge
+ clr = 'white' # White on magenta
+ align = 'right'
+
+ yloc = rect.get_y()+rect.get_height()/2.0 #Center the text vertically in the bar
+ ax1.text(xloc, yloc, rankStr, horizontalalignment=align,
+ verticalalignment='center', color=clr, weight='bold')
+
+plt.show()
+
Added: branches/v0_99_maint/examples/pylab_examples/boxplot_demo2.py
===================================================================
--- branches/v0_99_maint/examples/pylab_examples/boxplot_demo2.py (rev 0)
+++ branches/v0_99_maint/examples/pylab_examples/boxplot_demo2.py 2009-08-03 17:19:42 UTC (rev 7335)
@@ -0,0 +1,121 @@
+"""
+Thanks Josh Hemann for the example
+"""
+
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib.patches import Polygon
+
+
+# Generate some data from five different probability distributions,
+# each with different characteristics. We want to play with how an IID
+# bootstrap resample of the data preserves the distributional
+# properties of the original sample, and a boxplot is one visual tool
+# to make this assessment
+numDists = 5
+randomDists = ['Normal(1,1)',' Lognormal(1,1)', 'Exp(1)', 'Gumbel(6,4)',
+ 'Triangular(2,9,11)']
+N = 500
+norm = np.random.normal(1,1, N)
+logn = np.random.lognormal(1,1, N)
+expo = np.random.exponential(1, N)
+gumb = np.random.gumbel(6, 4, N)
+tria = np.random.triangular(2, 9, 11, N)
+
+# Generate some random indices that we'll use to resample the original data
+# arrays. For code brevity, just use the same random indices for each array
+bootstrapIndices = np.random.random_integers(0, N-1, N)
+normBoot = norm[bootstrapIndices]
+expoBoot = expo[bootstrapIndices]
+gumbBoot = gumb[bootstrapIndices]
+lognBoot = logn[bootstrapIndices]
+triaBoot = tria[bootstrapIndices]
+
+data = [norm, normBoot, logn, lognBoot, expo, expoBoot, gumb, gumbBoot,
+ tria, triaBoot]
+
+fig = plt.figure(figsize=(10,6))
+fig.canvas.set_window_title('A Boxplot Example')
+ax1 = fig.add_subplot(111)
+plt.subplots_adjust(left=0.075, right=0.95, top=0.9, bottom=0.25)
+
+bp = plt.boxplot(data, notch=0, sym='+', vert=1, whis=1.5)
+plt.setp(bp['boxes'], color='black')
+plt.setp(bp['whiskers'], color='black')
+plt.setp(bp['fliers'], color='red', marker='+')
+
+# Add a horizontal grid to the plot, but make it very light in color
+# so we can use it for reading data values but not be distracting
+ax1.yaxis.grid(True, linestyle='-', which='major', color='lightgrey',
+ alpha=0.5)
+
+# Hide these grid behind plot objects
+ax1.set_axisbelow(True)
+ax1.set_title('Comparison of IID Bootstrap Resampling Across Five Distributions')
+ax1.set_xlabel('Distribution')
+ax1.set_ylabel('Value')
+
+# Now fill the boxes with desired colors
+boxColors = ['darkkhaki','royalblue']
+numBoxes = numDists*2
+medians = range(numBoxes)
+for i in range(numBoxes):
+ box = bp['boxes'][i]
+ boxX = []
+ boxY = []
+ for j in range(5):
+ boxX.append(box.get_xdata()[j])
+ boxY.append(box.get_ydata()[j])
+ boxCoords = zip(boxX,boxY)
+ # Alternate between Dark Khaki and Royal Blue
+ k = i % 2
+ boxPolygon = Polygon(boxCoords, facecolor=boxColors[k])
+ ax1.add_patch(boxPolygon)
+ # Now draw the median lines back over what we just filled in
+ med = bp['medians'][i]
+ medianX = []
+ medianY = []
+ for j in range(2):
+ medianX.append(med.get_xdata()[j])
+ medianY.append(med.get_ydata()[j])
+ plt.plot(medianX, medianY, 'k')
+ medians[i] = medianY[0]
+ # Finally, overplot the sample averages, with horixzontal alignment
+ # in the center of each box
+ plt.plot([np.average(med.get_xdata())], [np.average(data[i])],
+ color='w', marker='*', markeredgecolor='k')
+
+# Set the axes ranges and axes labels
+ax1.set_xlim(0.5, numBoxes+0.5)
+top = 40
+bottom = -5
+ax1.set_ylim(bottom, top)
+xtickNames = plt.setp(ax1, xticklabels=np.repeat(randomDists, 2))
+plt.setp(xtickNames, rotation=45, fontsize=8)
+
+# Due to the Y-axis scale being different across samples, it can be
+# hard to compare differences in medians across the samples. Add upper
+# X-axis tick labels with the sample medians to aid in comparison
+# (just use two decimal places of precision)
+pos = np.arange(numBoxes)+1
+upperLabels = [str(np.round(s, 2)) for s in medians]
+weights = ['bold', 'semibold']
+for tick,label in zip(range(numBoxes),ax1.get_xticklabels()):
+ k = tick % 2
+ ax1.text(pos[tick], top-(top*0.05), upperLabels[tick],
+ horizontalalignment='center', size='x-small', weight=weights[k],
+ color=boxColors[k])
+
+# Finally, add a basic legend
+plt.figtext(0.80, 0.08, str(N) + ' Random Numbers' ,
+ backgroundcolor=boxColors[0], color='black', weight='roman',
+ size='x-small')
+plt.figtext(0.80, 0.045, 'IID Bootstrap Resample',
+backgroundcolor=boxColors[1],
+ color='white', weight='roman', size='x-small')
+plt.figtext(0.80, 0.015, '*', color='white', backgroundcolor='silver',
+ weight='roman', size='medium')
+plt.figtext(0.815, 0.013, ' Average Value', color='black', weight='roman',
+ size='x-small')
+
+plt.show()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-03 16:38:32
|
Revision: 7334
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7334&view=rev
Author: jdh2358
Date: 2009-08-03 16:38:25 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
handled sf bugs 2831556 and 2830525; better bar error messages and backend driver configs
Modified Paths:
--------------
branches/v0_99_maint/examples/tests/backend_driver.py
branches/v0_99_maint/lib/matplotlib/axes.py
Modified: branches/v0_99_maint/examples/tests/backend_driver.py
===================================================================
--- branches/v0_99_maint/examples/tests/backend_driver.py 2009-08-03 16:32:38 UTC (rev 7333)
+++ branches/v0_99_maint/examples/tests/backend_driver.py 2009-08-03 16:38:25 UTC (rev 7334)
@@ -374,7 +374,7 @@
if backend in rcsetup.interactive_bk:
tmpfile.write('show()')
else:
- tmpfile.write('\nsavefig("%s", dpi=150)' % outfile)
+ tmpfile.write('\nsavefig(r"%s", dpi=150)' % outfile)
tmpfile.close()
start_time = time.time()
@@ -458,7 +458,7 @@
python = ['valgrind', '--tool=memcheck', '--leak-check=yes',
'--log-file=%(name)s', 'python']
elif sys.platform == 'win32':
- python = [r'c:\Python24\python.exe']
+ python = [sys.executable]
else:
python = ['python']
Modified: branches/v0_99_maint/lib/matplotlib/axes.py
===================================================================
--- branches/v0_99_maint/lib/matplotlib/axes.py 2009-08-03 16:32:38 UTC (rev 7333)
+++ branches/v0_99_maint/lib/matplotlib/axes.py 2009-08-03 16:38:25 UTC (rev 7334)
@@ -4229,20 +4229,20 @@
# FIXME: convert the following to proper input validation
# raising ValueError; don't use assert for this.
- assert len(left)==nbars, "argument 'left' must be %d or scalar" % nbars
- assert len(height)==nbars, ("argument 'height' must be %d or scalar" %
+ assert len(left)==nbars, "incompatible sizes: argument 'left' must be length %d or scalar" % nbars
+ assert len(height)==nbars, ("incompatible sizes: argument 'height' must be length %d or scalar" %
nbars)
- assert len(width)==nbars, ("argument 'width' must be %d or scalar" %
+ assert len(width)==nbars, ("incompatible sizes: argument 'width' must be length %d or scalar" %
nbars)
- assert len(bottom)==nbars, ("argument 'bottom' must be %d or scalar" %
+ assert len(bottom)==nbars, ("incompatible sizes: argument 'bottom' must be length %d or scalar" %
nbars)
if yerr is not None and len(yerr)!=nbars:
raise ValueError(
- "bar() argument 'yerr' must be len(%s) or scalar" % nbars)
+ "incompatible sizes: bar() argument 'yerr' must be len(%s) or scalar" % nbars)
if xerr is not None and len(xerr)!=nbars:
raise ValueError(
- "bar() argument 'xerr' must be len(%s) or scalar" % nbars)
+ "incompatible sizes: bar() argument 'xerr' must be len(%s) or scalar" % nbars)
patches = []
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <evi...@us...> - 2009-08-03 16:32:49
|
Revision: 7333
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7333&view=rev
Author: evilguru
Date: 2009-08-03 16:32:38 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
Update the mathtex branch so that it includes the latest fixes from trunk.
Modified Paths:
--------------
branches/mathtex/CHANGELOG
branches/mathtex/doc/_templates/indexsidebar.html
branches/mathtex/doc/api/api_changes.rst
branches/mathtex/doc/devel/coding_guide.rst
branches/mathtex/doc/mpl_toolkits/mplot3d/api.rst
branches/mathtex/doc/users/toolkits.rst
branches/mathtex/examples/pylab_examples/custom_cmap.py
branches/mathtex/examples/pylab_examples/log_demo.py
branches/mathtex/examples/tests/backend_driver.py
branches/mathtex/lib/matplotlib/__init__.py
branches/mathtex/lib/matplotlib/_cm.py
branches/mathtex/lib/matplotlib/axes.py
branches/mathtex/lib/matplotlib/cm.py
branches/mathtex/lib/matplotlib/figure.py
branches/mathtex/lib/matplotlib/image.py
branches/mathtex/lib/matplotlib/legend.py
branches/mathtex/lib/matplotlib/offsetbox.py
branches/mathtex/lib/matplotlib/projections/polar.py
branches/mathtex/lib/matplotlib/pyplot.py
Property Changed:
----------------
branches/mathtex/
branches/mathtex/doc/pyplots/README
branches/mathtex/doc/sphinxext/gen_gallery.py
branches/mathtex/doc/sphinxext/gen_rst.py
branches/mathtex/examples/misc/multiprocess.py
branches/mathtex/examples/mplot3d/contour3d_demo.py
branches/mathtex/examples/mplot3d/contourf3d_demo.py
branches/mathtex/examples/mplot3d/polys3d_demo.py
branches/mathtex/examples/mplot3d/scatter3d_demo.py
branches/mathtex/examples/mplot3d/surface3d_demo.py
branches/mathtex/examples/mplot3d/wire3d_demo.py
branches/mathtex/lib/matplotlib/sphinxext/mathmpl.py
branches/mathtex/lib/matplotlib/sphinxext/only_directives.py
branches/mathtex/lib/matplotlib/sphinxext/plot_directive.py
Property changes on: branches/mathtex
___________________________________________________________________
Modified: svnmerge-integrated
- /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7305
+ /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7332
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
/trunk/matplotlib:7265-7303
+ /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
/trunk/matplotlib:7265-7303,7308-7317,7321
Modified: branches/mathtex/CHANGELOG
===================================================================
--- branches/mathtex/CHANGELOG 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/CHANGELOG 2009-08-03 16:32:38 UTC (rev 7333)
@@ -1,3 +1,11 @@
+======================================================================
+
+2009-07-31 Tagging 0.99.0.rc1 at 7314 - MGD
+
+2009-07-30 Add set_cmap and register_cmap, and improve get_cmap,
+ to provide convenient handling of user-generated
+ colormaps. Reorganized _cm and cm modules. - EF
+
2009-07-28 Quiver speed improved, thanks to tip by Ray Speth. -EF
2009-07-27 Simplify argument handling code for plot method. -EF
@@ -4417,4 +4425,3 @@
2003-11-21 - make a dash-dot dict for the GC
2003-12-15 - fix install path bug
-t
Modified: branches/mathtex/doc/_templates/indexsidebar.html
===================================================================
--- branches/mathtex/doc/_templates/indexsidebar.html 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/doc/_templates/indexsidebar.html 2009-08-03 16:32:38 UTC (rev 7333)
@@ -1,19 +1,13 @@
<h3>News</h3>
+
<p>Please <a href="http://sourceforge.net/project/project_donations.php?group_id=80706">donate</a>
to support matplotlib development.</p>
+
<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">video lecture</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>Machine Learning Open Source Software</i></a>.
</p>
-<p>Nominate matplotlib for a community choice award by clicking the
-image below -- suggested category "Best Project for Academia" for
-software which "helps you hit the books, analyze global trends, or
-just understand the world a little bit better than you did before":
-<a href="http://sourceforge.net/community/cca09/nominate/?project_name=matplotlib&project_url=http://sourceforge.net/projects/matplotlib/"><img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0"/></a>
-</p>
-
-
<h3>Download</h3>
<p>Current version: <b>{{ version }}</b></p>
Modified: branches/mathtex/doc/api/api_changes.rst
===================================================================
--- branches/mathtex/doc/api/api_changes.rst 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/doc/api/api_changes.rst 2009-08-03 16:32:38 UTC (rev 7333)
@@ -21,6 +21,11 @@
Changes beyond 0.98.x
=====================
+* User-generated colormaps can now be added to the set recognized
+ by :func:`matplotlib.cm.get_cmap`. Colormaps can be made the
+ default and applied to the current image using
+ :func:`matplotlib.pyplot.set_cmap`.
+
* changed use_mrecords default to False in mlab.csv2rec since this is
partially broken
Modified: branches/mathtex/doc/devel/coding_guide.rst
===================================================================
--- branches/mathtex/doc/devel/coding_guide.rst 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/doc/devel/coding_guide.rst 2009-08-03 16:32:38 UTC (rev 7333)
@@ -27,12 +27,12 @@
Branch checkouts, eg the maintenance branch::
svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
- v0_91_maint mpl91 --username=youruser --password=yourpass
+ v0_99_maint mpl99 --username=youruser --password=yourpass
-The current release of the trunk is in the 0.98.5 maintenance branch::
+The current release of the trunk is in the 0.99.x maintenance branch::
svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
- v0_98_5_maint mpl98.5 --username=youruser --password=yourpass
+ v0_99_maint mpl99 --username=youruser --password=yourpass
Committing changes
@@ -96,7 +96,7 @@
svnmerge.py merge -S BRANCHNAME
Where BRANCHNAME is the name of the branch to merge *from*,
- e.g. v0_98_5_maint.
+ e.g. v0_99_maint.
If you wish to merge only specific revisions (in an unusual
situation), do::
@@ -130,17 +130,17 @@
with this.
* Creating a new branch from the trunk (if the release version is
- 0.98.5 at revision 6573)::
+ 0.99 at revision 6573)::
> svn copy \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib@6573 \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint \
- -m "Creating maintenance branch for 0.98.5"
+ https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib@7315 \
+ https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_99_maint \
+ -m "Creating maintenance branch for 0.99"
* You can add a new branch for the trunk to "track" using
"svnmerge.py init", e.g., from a working copy of the trunk::
- > svnmerge.py init https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_98_5_maint
+ > svnmerge.py init https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_99_maint
property 'svnmerge-integrated' set on '.'
After doing a "svn commit" on this, this merge tracking is available
@@ -150,7 +150,7 @@
* Tracking can later be removed with the "svnmerge.py uninit" command,
e.g.::
- > svnmerge.py -S v0_9_5_maint uninit
+ > svnmerge.py -S v0_99_maint uninit
.. _using-git:
Modified: branches/mathtex/doc/mpl_toolkits/mplot3d/api.rst
===================================================================
--- branches/mathtex/doc/mpl_toolkits/mplot3d/api.rst 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/doc/mpl_toolkits/mplot3d/api.rst 2009-08-03 16:32:38 UTC (rev 7333)
@@ -7,7 +7,6 @@
.. automodule:: mpl_toolkits.mplot3d.axes3d
:members:
- :exclude-members: contour3D, contourf3D, plot3D, scatter3D
:show-inheritance:
:mod:`mpl_toolkits.mplot3d.art3d`
Property changes on: branches/mathtex/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/trunk/matplotlib/doc/pyplots/README:7265-7303
+ /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
/trunk/matplotlib/doc/pyplots/README:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/trunk/matplotlib/doc/sphinxext/gen_gallery.py:7265-7303
+ /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
/trunk/matplotlib/doc/sphinxext/gen_gallery.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/trunk/matplotlib/doc/sphinxext/gen_rst.py:7265-7303
+ /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
/trunk/matplotlib/doc/sphinxext/gen_rst.py:7265-7303,7308-7317,7321
Modified: branches/mathtex/doc/users/toolkits.rst
===================================================================
--- branches/mathtex/doc/users/toolkits.rst 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/doc/users/toolkits.rst 2009-08-03 16:32:38 UTC (rev 7333)
@@ -66,5 +66,5 @@
distributed with matplotlib source.
.. image:: ../_static/demo_axes_grid.png
-
+
See :ref:`toolkit_axesgrid-index` for documentations.
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/misc/multiprocess.py:7265-7303
+ /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
/trunk/matplotlib/examples/misc/multiprocess.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/contour3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/contour3d_demo.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/contourf3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/contourf3d_demo.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/polys3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/polys3d_demo.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/scatter3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/scatter3d_demo.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/surface3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/surface3d_demo.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/examples/mplot3d/wire3d_demo.py:7265-7303
+ /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
/trunk/matplotlib/examples/mplot3d/wire3d_demo.py:7265-7303,7308-7317,7321
Modified: branches/mathtex/examples/pylab_examples/custom_cmap.py
===================================================================
--- branches/mathtex/examples/pylab_examples/custom_cmap.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/examples/pylab_examples/custom_cmap.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -103,11 +103,25 @@
(1.0, 0.0, 0.0))
}
+# Now we will use this example to illustrate 3 ways of
+# handling custom colormaps.
+# First, the most direct and explicit:
blue_red1 = LinearSegmentedColormap('BlueRed1', cdict1)
+
+# Second, create the map explicitly and register it.
+# Like the first method, this method works with any kind
+# of Colormap, not just
+# a LinearSegmentedColormap:
+
blue_red2 = LinearSegmentedColormap('BlueRed2', cdict2)
-blue_red3 = LinearSegmentedColormap('BlueRed3', cdict3)
+plt.register_cmap(cmap=blue_red2)
+# Third, for LinearSegmentedColormap only,
+# leave everything to register_cmap:
+
+plt.register_cmap(name='BlueRed3', data=cdict3) # optional lut kwarg
+
x = np.arange(0, np.pi, 0.1)
y = np.arange(0, 2*np.pi, 0.1)
X, Y = np.meshgrid(x,y)
@@ -121,13 +135,33 @@
plt.colorbar()
plt.subplot(1,3,2)
-plt.imshow(Z, interpolation='nearest', cmap=blue_red2)
+cmap = plt.get_cmap('BlueRed2')
+plt.imshow(Z, interpolation='nearest', cmap=cmap)
plt.colorbar()
+# Now we will set the third cmap as the default. One would
+# not normally do this in the middle of a script like this;
+# it is done here just to illustrate the method.
+
+plt.rcParams['image.cmap'] = 'BlueRed3'
+
+# Also see below for an alternative, particularly for
+# interactive use.
+
plt.subplot(1,3,3)
-plt.imshow(Z, interpolation='nearest', cmap=blue_red3)
+plt.imshow(Z, interpolation='nearest')
plt.colorbar()
+# Or as yet another variation, we could replace the rcParams
+# specification *before* the imshow with the following *after*
+# imshow:
+#
+# plt.set_cmap('BlueRed3')
+#
+# This sets the new default *and* sets the colormap of the last
+# image-like item plotted via pyplot, if any.
+
+
plt.suptitle('Custom Blue-Red colormaps')
plt.show()
Modified: branches/mathtex/examples/pylab_examples/log_demo.py
===================================================================
--- branches/mathtex/examples/pylab_examples/log_demo.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/examples/pylab_examples/log_demo.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -19,7 +19,7 @@
# log x and y axis
plt.subplot(223)
-plt.loglog(t, 20*np.exp(-t/10.0), basex=4)
+plt.loglog(t, 20*np.exp(-t/10.0), basex=2)
plt.grid(True)
plt.title('loglog base 4 on x')
Modified: branches/mathtex/examples/tests/backend_driver.py
===================================================================
--- branches/mathtex/examples/tests/backend_driver.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/examples/tests/backend_driver.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -336,7 +336,6 @@
for fullpath in testcases:
print ('\tdriving %-40s' % (fullpath)),
sys.stdout.flush()
-
fpath, fname = os.path.split(fullpath)
if fname in exclude:
@@ -392,7 +391,8 @@
doc = __doc__.split('\n\n')
op = OptionParser(description=doc[0].strip(),
usage='%prog [options] [--] [backends and switches]',
- epilog='\n'.join(doc[1:]))
+ #epilog='\n'.join(doc[1:]) # epilog not supported on my python2.4 machine: JDH
+ )
op.disable_interspersed_args()
op.set_defaults(dirs='pylab,api,units,mplot3d',
clean=False, coverage=False, valgrind=False)
Modified: branches/mathtex/lib/matplotlib/__init__.py
===================================================================
--- branches/mathtex/lib/matplotlib/__init__.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/__init__.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -89,7 +89,7 @@
"""
from __future__ import generators
-__version__ = '0.98.6svn'
+__version__ = '0.99.0.rc1'
__revision__ = '$Revision$'
__date__ = '$Date$'
Modified: branches/mathtex/lib/matplotlib/_cm.py
===================================================================
--- branches/mathtex/lib/matplotlib/_cm.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/_cm.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -1,25 +1,15 @@
"""
-Color data and pre-defined cmap objects.
+Nothing here but dictionaries for generating LinearSegmentedColormaps,
+and a dictionary of these dictionaries.
-This is a helper for cm.py, originally part of that file.
-Separating the data (this file) from cm.py makes both easier
-to deal with.
-
-Objects visible in cm.py are the individual cmap objects ('autumn',
-etc.) and a dictionary, 'datad', including all of these objects.
"""
-import matplotlib as mpl
-import matplotlib.colors as colors
-LUTSIZE = mpl.rcParams['image.lut']
-
_binary_data = {
'red' : ((0., 1., 1.), (1., 0., 0.)),
'green': ((0., 1., 1.), (1., 0., 0.)),
'blue' : ((0., 1., 1.), (1., 0., 0.))
}
-
_bone_data = {'red': ((0., 0., 0.),(1.0, 1.0, 1.0)),
'green': ((0., 0., 0.),(1.0, 1.0, 1.0)),
'blue': ((0., 0., 0.),(1.0, 1.0, 1.0))}
@@ -379,44 +369,6 @@
(1.0, 0.80, 0.80)]}
-autumn = colors.LinearSegmentedColormap('autumn', _autumn_data, LUTSIZE)
-bone = colors.LinearSegmentedColormap('bone ', _bone_data, LUTSIZE)
-binary = colors.LinearSegmentedColormap('binary ', _binary_data, LUTSIZE)
-cool = colors.LinearSegmentedColormap('cool', _cool_data, LUTSIZE)
-copper = colors.LinearSegmentedColormap('copper', _copper_data, LUTSIZE)
-flag = colors.LinearSegmentedColormap('flag', _flag_data, LUTSIZE)
-gray = colors.LinearSegmentedColormap('gray', _gray_data, LUTSIZE)
-hot = colors.LinearSegmentedColormap('hot', _hot_data, LUTSIZE)
-hsv = colors.LinearSegmentedColormap('hsv', _hsv_data, LUTSIZE)
-jet = colors.LinearSegmentedColormap('jet', _jet_data, LUTSIZE)
-pink = colors.LinearSegmentedColormap('pink', _pink_data, LUTSIZE)
-prism = colors.LinearSegmentedColormap('prism', _prism_data, LUTSIZE)
-spring = colors.LinearSegmentedColormap('spring', _spring_data, LUTSIZE)
-summer = colors.LinearSegmentedColormap('summer', _summer_data, LUTSIZE)
-winter = colors.LinearSegmentedColormap('winter', _winter_data, LUTSIZE)
-spectral = colors.LinearSegmentedColormap('spectral', _spectral_data, LUTSIZE)
-
-
-
-datad = {
- 'autumn': _autumn_data,
- 'bone': _bone_data,
- 'binary': _binary_data,
- 'cool': _cool_data,
- 'copper': _copper_data,
- 'flag': _flag_data,
- 'gray' : _gray_data,
- 'hot': _hot_data,
- 'hsv': _hsv_data,
- 'jet' : _jet_data,
- 'pink': _pink_data,
- 'prism': _prism_data,
- 'spring': _spring_data,
- 'summer': _summer_data,
- 'winter': _winter_data,
- 'spectral': _spectral_data
- }
-
# 34 colormaps based on color specifications and designs
# developed by Cynthia Brewer (http://colorbrewer.org).
# The ColorBrewer palettes have been included under the terms
@@ -5859,48 +5811,26 @@
0.0078431377187371254, 0.0078431377187371254), (1.0,
0.0039215688593685627, 0.0039215688593685627)]}
-Accent = colors.LinearSegmentedColormap('Accent', _Accent_data, LUTSIZE)
-Blues = colors.LinearSegmentedColormap('Blues', _Blues_data, LUTSIZE)
-BrBG = colors.LinearSegmentedColormap('BrBG', _BrBG_data, LUTSIZE)
-BuGn = colors.LinearSegmentedColormap('BuGn', _BuGn_data, LUTSIZE)
-BuPu = colors.LinearSegmentedColormap('BuPu', _BuPu_data, LUTSIZE)
-Dark2 = colors.LinearSegmentedColormap('Dark2', _Dark2_data, LUTSIZE)
-GnBu = colors.LinearSegmentedColormap('GnBu', _GnBu_data, LUTSIZE)
-Greens = colors.LinearSegmentedColormap('Greens', _Greens_data, LUTSIZE)
-Greys = colors.LinearSegmentedColormap('Greys', _Greys_data, LUTSIZE)
-Oranges = colors.LinearSegmentedColormap('Oranges', _Oranges_data, LUTSIZE)
-OrRd = colors.LinearSegmentedColormap('OrRd', _OrRd_data, LUTSIZE)
-Paired = colors.LinearSegmentedColormap('Paired', _Paired_data, LUTSIZE)
-Pastel1 = colors.LinearSegmentedColormap('Pastel1', _Pastel1_data, LUTSIZE)
-Pastel2 = colors.LinearSegmentedColormap('Pastel2', _Pastel2_data, LUTSIZE)
-PiYG = colors.LinearSegmentedColormap('PiYG', _PiYG_data, LUTSIZE)
-PRGn = colors.LinearSegmentedColormap('PRGn', _PRGn_data, LUTSIZE)
-PuBu = colors.LinearSegmentedColormap('PuBu', _PuBu_data, LUTSIZE)
-PuBuGn = colors.LinearSegmentedColormap('PuBuGn', _PuBuGn_data, LUTSIZE)
-PuOr = colors.LinearSegmentedColormap('PuOr', _PuOr_data, LUTSIZE)
-PuRd = colors.LinearSegmentedColormap('PuRd', _PuRd_data, LUTSIZE)
-Purples = colors.LinearSegmentedColormap('Purples', _Purples_data, LUTSIZE)
-RdBu = colors.LinearSegmentedColormap('RdBu', _RdBu_data, LUTSIZE)
-RdGy = colors.LinearSegmentedColormap('RdGy', _RdGy_data, LUTSIZE)
-RdPu = colors.LinearSegmentedColormap('RdPu', _RdPu_data, LUTSIZE)
-RdYlBu = colors.LinearSegmentedColormap('RdYlBu', _RdYlBu_data, LUTSIZE)
-RdYlGn = colors.LinearSegmentedColormap('RdYlGn', _RdYlGn_data, LUTSIZE)
-Reds = colors.LinearSegmentedColormap('Reds', _Reds_data, LUTSIZE)
-Set1 = colors.LinearSegmentedColormap('Set1', _Set1_data, LUTSIZE)
-Set2 = colors.LinearSegmentedColormap('Set2', _Set2_data, LUTSIZE)
-Set3 = colors.LinearSegmentedColormap('Set3', _Set3_data, LUTSIZE)
-Spectral = colors.LinearSegmentedColormap('Spectral', _Spectral_data, LUTSIZE)
-YlGn = colors.LinearSegmentedColormap('YlGn', _YlGn_data, LUTSIZE)
-YlGnBu = colors.LinearSegmentedColormap('YlGnBu', _YlGnBu_data, LUTSIZE)
-YlOrBr = colors.LinearSegmentedColormap('YlOrBr', _YlOrBr_data, LUTSIZE)
-YlOrRd = colors.LinearSegmentedColormap('YlOrRd', _YlOrRd_data, LUTSIZE)
-gist_earth = colors.LinearSegmentedColormap('gist_earth', _gist_earth_data, LUTSIZE)
-gist_gray = colors.LinearSegmentedColormap('gist_gray', _gist_gray_data, LUTSIZE)
-gist_heat = colors.LinearSegmentedColormap('gist_heat', _gist_heat_data, LUTSIZE)
-gist_ncar = colors.LinearSegmentedColormap('gist_ncar', _gist_ncar_data, LUTSIZE)
-gist_rainbow = colors.LinearSegmentedColormap('gist_rainbow', _gist_rainbow_data, LUTSIZE)
-gist_stern = colors.LinearSegmentedColormap('gist_stern', _gist_stern_data, LUTSIZE)
-gist_yarg = colors.LinearSegmentedColormap('gist_yarg', _gist_yarg_data, LUTSIZE)
+datad = {
+ 'autumn': _autumn_data,
+ 'bone': _bone_data,
+ 'binary': _binary_data,
+ 'cool': _cool_data,
+ 'copper': _copper_data,
+ 'flag': _flag_data,
+ 'gray' : _gray_data,
+ 'hot': _hot_data,
+ 'hsv': _hsv_data,
+ 'jet' : _jet_data,
+ 'pink': _pink_data,
+ 'prism': _prism_data,
+ 'spring': _spring_data,
+ 'summer': _summer_data,
+ 'winter': _winter_data,
+ 'spectral': _spectral_data
+ }
+
+
datad['Accent']=_Accent_data
datad['Blues']=_Blues_data
datad['BrBG']=_BrBG_data
@@ -5944,19 +5874,7 @@
datad['gist_stern']=_gist_stern_data
datad['gist_yarg']=_gist_yarg_data
-# reverse all the colormaps.
-# reversed colormaps have '_r' appended to the name.
-def revcmap(data):
- data_r = {}
- for key, val in data.iteritems():
- valnew = [(1.-a, b, c) for a, b, c in reversed(val)]
- data_r[key] = valnew
- return data_r
-cmapnames = datad.keys()
-for cmapname in cmapnames:
- cmapname_r = cmapname+'_r'
- cmapdat_r = revcmap(datad[cmapname])
- datad[cmapname_r] = cmapdat_r
- locals()[cmapname_r] = colors.LinearSegmentedColormap(cmapname_r, cmapdat_r, LUTSIZE)
+
+
Modified: branches/mathtex/lib/matplotlib/axes.py
===================================================================
--- branches/mathtex/lib/matplotlib/axes.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/axes.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -3906,31 +3906,66 @@
'center' 10
=============== =============
- If none of these are locations are suitable, loc can be a 2-tuple
- giving x,y in axes coords, ie::
- loc = 0, 1 # left top
- loc = 0.5, 0.5 # center
+ Users can specify any arbitrary location for the legend using the
+ *bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance
+ of BboxBase(or its derivatives) or a tuple of 2 or 4 floats.
+ For example,
+ loc = 'upper right', bbox_to_anchor = (0.5, 0.5)
+
+ will place the legend so that the upper right corner of the legend at
+ the center of the axes.
+
+ The legend location can be specified in other coordinate, by using the
+ *bbox_transform* keyword.
+
+ The loc itslef can be a 2-tuple giving x,y of the lower-left corner of
+ the legend in axes coords (*bbox_to_anchor* is ignored).
+
+
Keyword arguments:
- *isaxes*: [ True | False ]
- Indicates that this is an axes legend
+ *prop*: [ None | FontProperties | dict ]
+ A :class:`matplotlib.font_manager.FontProperties`
+ instance. If *prop* is a dictionary, a new instance will be
+ created with *prop*. If *None*, use rc settings.
*numpoints*: integer
- The number of points in the legend line, default is 4
+ The number of points in the legend for line
- *prop*: [ None | FontProperties ]
- A :class:`matplotlib.font_manager.FontProperties`
- instance, or *None* to use rc settings.
+ *scatterpoints*: integer
+ The number of points in the legend for scatter plot
+ *scatteroffsets*: list of floats
+ a list of yoffsets for scatter symbols in legend
+
*markerscale*: [ None | scalar ]
The relative size of legend markers vs. original. If *None*, use rc
settings.
+ *fancybox*: [ None | False | True ]
+ if True, draw a frame with a round fancybox. If None, use rc
+
*shadow*: [ None | False | True ]
If *True*, draw a shadow behind legend. If *None*, use rc settings.
+ *ncol* : integer
+ number of columns. default is 1
+
+ *mode* : [ "expand" | None ]
+ if mode is "expand", the legend will be horizontally expanded
+ to fill the axes area (or *bbox_to_anchor*)
+
+ *bbox_to_anchor* : an instance of BboxBase or a tuple of 2 or 4 floats
+ the bbox that the legend will be anchored.
+
+ *bbox_transform* : [ an instance of Transform | None ]
+ the transform for the bbox. transAxes if None.
+
+ *title* : string
+ the legend title
+
Padding and spacing between various elements use following keywords
parameters. The dimensions of these values are given as a fraction
of the fontsize. Values from rcParams will be used if None.
@@ -3946,9 +3981,13 @@
columnspacing the spacing between columns
================ ==================================================================
+
**Example:**
.. plot:: mpl_examples/api/legend_demo.py
+
+ Also see :ref:`plotting-guide-legend`.
+
"""
if len(args)==0:
@@ -5133,9 +5172,9 @@
arguments will be used only if *c* is an array of floats.
*cmap*: [ None | Colormap ]
- A :class:`matplotlib.colors.Colormap` instance. If *None*,
- defaults to rc ``image.cmap``. *cmap* is only used if *c*
- is an array of floats.
+ A :class:`matplotlib.colors.Colormap` instance or registered
+ name. If *None*, defaults to rc ``image.cmap``. *cmap* is
+ only used if *c* is an array of floats.
*norm*: [ None | Normalize ]
A :class:`matplotlib.colors.Normalize` instance is used to
@@ -5331,7 +5370,6 @@
if colors is None:
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
collection.set_array(np.asarray(c))
collection.set_cmap(cmap)
collection.set_norm(norm)
@@ -5673,7 +5711,6 @@
accum = bins.searchsorted(accum)
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
collection.set_array(accum)
collection.set_cmap(cmap)
collection.set_norm(norm)
@@ -6206,7 +6243,6 @@
if not self._hold: self.cla()
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
if aspect is None: aspect = rcParams['image.aspect']
self.set_aspect(aspect)
im = mimage.AxesImage(self, cmap, norm, interpolation, origin, extent,
@@ -6451,7 +6487,6 @@
collection.set_alpha(alpha)
collection.set_array(C)
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
collection.set_cmap(cmap)
collection.set_norm(norm)
if vmin is not None or vmax is not None:
@@ -6573,7 +6608,6 @@
collection.set_alpha(alpha)
collection.set_array(C)
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
collection.set_cmap(cmap)
collection.set_norm(norm)
if vmin is not None or vmax is not None:
@@ -6680,7 +6714,6 @@
vmin = kwargs.pop('vmin', None)
vmax = kwargs.pop('vmax', None)
if norm is not None: assert(isinstance(norm, mcolors.Normalize))
- if cmap is not None: assert(isinstance(cmap, mcolors.Colormap))
C = args[-1]
nr, nc = C.shape
Modified: branches/mathtex/lib/matplotlib/cm.py
===================================================================
--- branches/mathtex/lib/matplotlib/cm.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/cm.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -1,26 +1,114 @@
"""
-This module contains the instantiations of color mapping classes
+This module provides a large set of colormaps, functions for
+registering new colormaps and for getting a colormap by name,
+and a mixin class for adding color mapping functionality.
+
"""
+import os
+
import numpy as np
from numpy import ma
import matplotlib as mpl
import matplotlib.colors as colors
import matplotlib.cbook as cbook
-from matplotlib._cm import *
+from matplotlib._cm import datad
+cmap_d = dict()
+# reverse all the colormaps.
+# reversed colormaps have '_r' appended to the name.
+
+def revcmap(data):
+ data_r = {}
+ for key, val in data.iteritems():
+ valnew = [(1.0-a, b, c) for a, b, c in reversed(val)]
+ data_r[key] = valnew
+ return data_r
+
+LUTSIZE = mpl.rcParams['image.lut']
+
+_cmapnames = datad.keys() # need this list because datad is changed in loop
+
+for cmapname in _cmapnames:
+ cmapname_r = cmapname+'_r'
+ cmapdat_r = revcmap(datad[cmapname])
+ datad[cmapname_r] = cmapdat_r
+ cmap_d[cmapname] = colors.LinearSegmentedColormap(
+ cmapname, datad[cmapname], LUTSIZE)
+ cmap_d[cmapname_r] = colors.LinearSegmentedColormap(
+ cmapname_r, cmapdat_r, LUTSIZE)
+
+locals().update(cmap_d)
+
+def register_cmap(name=None, cmap=None, data=None, lut=None):
+ """
+ Add a colormap to the set recognized by :func:`get_cmap`.
+
+ It can be used in two ways::
+
+ register_cmap(name='swirly', cmap=swirly_cmap)
+
+ register_cmap(name='choppy', data=choppydata, lut=128)
+
+ In the first case, *cmap* must be a :class:`colors.Colormap`
+ instance. The *name* is optional; if absent, the name will
+ be the :attr:`name` attribute of the *cmap*.
+
+ In the second case, the three arguments are passed to
+ the :class:`colors.LinearSegmentedColormap` initializer,
+ and the resulting colormap is registered.
+
+ """
+ if name is None:
+ try:
+ name = cmap.name
+ except AttributeError:
+ raise ValueError("Arguments must include a name or a Colormap")
+
+ if not cbook.is_string_like(name):
+ raise ValueError("Colormap name must be a string")
+
+ if isinstance(cmap, colors.Colormap):
+ cmap_d[name] = cmap
+ return
+
+ # For the remainder, let exceptions propagate.
+ if lut is None:
+ lut = mpl.rcParams['image.lut']
+ cmap = colors.LinearSegmentedColormap(name, data, lut)
+ cmap_d[name] = cmap
+
def get_cmap(name=None, lut=None):
"""
- Get a colormap instance, defaulting to rc values if *name* is None
+ Get a colormap instance, defaulting to rc values if *name* is None.
+
+ Colormaps added with :func:`register_cmap` take precedence over
+ builtin colormaps.
+
+ If *name* is a :class:`colors.Colormap` instance, it will be
+ returned.
+
+ If *lut* is not None it must be an integer giving the number of
+ entries desired in the lookup table, and *name* must be a
+ standard mpl colormap name with a corresponding data dictionary
+ in *datad*.
"""
- if name is None: name = mpl.rcParams['image.cmap']
- if lut is None: lut = mpl.rcParams['image.lut']
+ if name is None:
+ name = mpl.rcParams['image.cmap']
- assert(name in datad.keys())
- return colors.LinearSegmentedColormap(name, datad[name], lut)
+ if isinstance(name, colors.Colormap):
+ return name
+ if name in cmap_d:
+ if lut is None:
+ return cmap_d[name]
+ elif name in datad:
+ return colors.LinearSegmentedColormap(name, datad[name], lut)
+ else:
+ raise ValueError("Colormap %s is not recognized" % name)
+
class ScalarMappable:
"""
This is a mixin class to support scalar -> RGBA mapping. Handles
@@ -42,7 +130,7 @@
self._A = None
self.norm = norm
- self.cmap = cmap
+ self.cmap = get_cmap(cmap)
self.colorbar = None
self.update_dict = {'array':False}
@@ -116,9 +204,9 @@
"""
set the colormap for luminance data
- ACCEPTS: a colormap
+ ACCEPTS: a colormap or registered colormap name
"""
- if cmap is None: cmap = get_cmap()
+ cmap = get_cmap(cmap)
self.cmap = cmap
self.changed()
Modified: branches/mathtex/lib/matplotlib/figure.py
===================================================================
--- branches/mathtex/lib/matplotlib/figure.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/figure.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -829,29 +829,60 @@
(0,0) is the left, bottom of the figure and 1,1 is the right,
top.
- The legend instance is returned. The following kwargs are supported
+ Keyword arguments:
- *loc*
- the location of the legend
- *numpoints*
- the number of points in the legend line
- *prop*
- a :class:`matplotlib.font_manager.FontProperties` instance
- *pad*
- the fractional whitespace inside the legend border
- *markerscale*
- the relative size of legend markers vs. original
- *shadow*
- if True, draw a shadow behind legend
- *labelsep*
- the vertical space between the legend entries
- *handlelen*
- the length of the legend lines
- *handletextsep*
- the space between the legend line and legend text
- *axespad*
- the border between the axes and legend edge
+ *prop*: [ None | FontProperties | dict ]
+ A :class:`matplotlib.font_manager.FontProperties`
+ instance. If *prop* is a dictionary, a new instance will be
+ created with *prop*. If *None*, use rc settings.
+ *numpoints*: integer
+ The number of points in the legend line, default is 4
+
+ *scatterpoints*: integer
+ The number of points in the legend line, default is 4
+
+ *scatteroffsets*: list of floats
+ a list of yoffsets for scatter symbols in legend
+
+ *markerscale*: [ None | scalar ]
+ The relative size of legend markers vs. original. If *None*, use rc
+ settings.
+
+ *fancybox*: [ None | False | True ]
+ if True, draw a frame with a round fancybox. If None, use rc
+
+ *shadow*: [ None | False | True ]
+ If *True*, draw a shadow behind legend. If *None*, use rc settings.
+
+ *ncol* : integer
+ number of columns. default is 1
+
+ *mode* : [ "expand" | None ]
+ if mode is "expand", the legend will be horizontally expanded
+ to fill the axes area (or *bbox_to_anchor*)
+
+ *title* : string
+ the legend title
+
+ Padding and spacing between various elements use following keywords
+ parameters. The dimensions of these values are given as a fraction
+ of the fontsize. Values from rcParams will be used if None.
+
+ ================ ==================================================================
+ Keyword Description
+ ================ ==================================================================
+ borderpad the fractional whitespace inside the legend border
+ labelspacing the vertical space between the legend entries
+ handlelength the length of the legend handles
+ handletextpad the pad between the legend handle and text
+ borderaxespad the pad between the axes and legend border
+ columnspacing the spacing between columns
+ ================ ==================================================================
+
+
+ **Example:**
+
.. plot:: mpl_examples/pylab_examples/figlegend_demo.py
"""
handles = flatten(handles)
Modified: branches/mathtex/lib/matplotlib/image.py
===================================================================
--- branches/mathtex/lib/matplotlib/image.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/image.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -512,7 +512,7 @@
def set_cmap(self, cmap):
if self._A is not None:
raise RuntimeError('Cannot change colors after loading data')
- cm.ScalarMappable.set_cmap(self, norm)
+ cm.ScalarMappable.set_cmap(self, cmap)
class PcolorImage(martist.Artist, cm.ScalarMappable):
'''
Modified: branches/mathtex/lib/matplotlib/legend.py
===================================================================
--- branches/mathtex/lib/matplotlib/legend.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/legend.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -126,13 +126,15 @@
================ ==================================================================
Keyword Description
================ ==================================================================
- loc a location code or a tuple of coordinates
- numpoints the number of points in the legend line
+ loc a location code
prop the font property
markerscale the relative size of legend markers vs. original
+ numpoints the number of points in the legend for line
+ scatterpoints the number of points in the legend for scatter plot
+ scatteryoffsets a list of yoffsets for scatter symbols in legend
fancybox if True, draw a frame with a round fancybox. If None, use rc
shadow if True, draw a shadow behind legend
- scatteryoffsets a list of yoffsets for scatter symbols in legend
+ ncol number of columns
borderpad the fractional whitespace inside the legend border
labelspacing the vertical space between the legend entries
handlelength the length of the legend handles
@@ -147,9 +149,14 @@
The dimensions of pad and spacing are given as a fraction of the
_fontsize. Values from rcParams will be used if None.
-bbox_to_anchor can be an instance of BboxBase(or its derivatives) or a
-tuple of 2 or 4 floats. See :meth:`set_bbox_to_anchor` for more
-detail.
+Users can specify any arbitrary location for the legend using the
+*bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance
+of BboxBase(or its derivatives) or a tuple of 2 or 4 floats.
+See :meth:`set_bbox_to_anchor` for more detail.
+
+The legend location can be specified by setting *loc* with a tuple of
+2 floats, which is interpreted as the lower-left corner of the legend
+in the normalized axes coordinate.
"""
from matplotlib.axes import Axes # local import only to avoid circularity
from matplotlib.figure import Figure # local import only to avoid circularity
@@ -158,8 +165,13 @@
if prop is None:
self.prop=FontProperties(size=rcParams["legend.fontsize"])
+ elif isinstance(prop, dict):
+ self.prop=FontProperties(**prop)
+ if "size" not in prop:
+ self.prop.set_size(rcParams["legend.fontsize"])
else:
self.prop=prop
+
self._fontsize = self.prop.get_size_in_points()
propnames=['numpoints', 'markerscale', 'shadow', "columnspacing",
Modified: branches/mathtex/lib/matplotlib/offsetbox.py
===================================================================
--- branches/mathtex/lib/matplotlib/offsetbox.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/offsetbox.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -833,6 +833,10 @@
if prop is None:
self.prop=FontProperties(size=rcParams["legend.fontsize"])
+ elif isinstance(prop, dict):
+ self.prop=FontProperties(**prop)
+ if "size" not in prop:
+ self.prop.set_size(rcParams["legend.fontsize"])
else:
self.prop = prop
Modified: branches/mathtex/lib/matplotlib/projections/polar.py
===================================================================
--- branches/mathtex/lib/matplotlib/projections/polar.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/projections/polar.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -397,7 +397,7 @@
self._r_label2_position.clear().translate(angle, -self._rpad * rmax)
for t in self.yaxis.get_ticklabels():
t.update(kwargs)
- return self.yaxis.get_ticklines(), self.yaxis.get_ticklabels()
+ return self.yaxis.get_gridlines(), self.yaxis.get_ticklabels()
set_rgrids.__doc__ = cbook.dedent(set_rgrids.__doc__) % kwdocd
Modified: branches/mathtex/lib/matplotlib/pyplot.py
===================================================================
--- branches/mathtex/lib/matplotlib/pyplot.py 2009-08-03 12:21:30 UTC (rev 7332)
+++ branches/mathtex/lib/matplotlib/pyplot.py 2009-08-03 16:32:38 UTC (rev 7333)
@@ -17,7 +17,7 @@
from matplotlib.scale import get_scale_docs, get_scale_names
from matplotlib import cm
-from matplotlib.cm import get_cmap
+from matplotlib.cm import get_cmap, register_cmap
import numpy as np
@@ -438,7 +438,7 @@
.. seealso::
:func:`~matplotlib.pyplot.legend`
- For information about the location codes
+
"""
l = gcf().legend(handles, labels, loc, **kwargs)
draw_if_interactive()
@@ -1102,7 +1102,7 @@
if not isinstance(ax, PolarAxes):
raise RuntimeError('rgrids only defined for polar axes')
if len(args)==0:
- lines = ax.yaxis.get_ticklines()
+ lines = ax.yaxis.get_gridlines()
labels = ax.yaxis.get_ticklabels()
else:
lines, labels = ax.set_rgrids(*args, **kwargs)
@@ -1396,8 +1396,26 @@
im.set_clim(vmin, vmax)
draw_if_interactive()
+def set_cmap(cmap):
+ '''
+ set the default colormap to *cmap* and apply to current image if any.
+ See help(colormaps) for more information.
+ *cmap* must be a :class:`colors.Colormap` instance, or
+ the name of a registered colormap.
+ See :func:`register_cmap` and :func:`get_cmap`.
+ '''
+ cmap = cm.get_cmap(cmap)
+
+ rc('image', cmap=cmap.name)
+ im = gci()
+
+ if im is not None:
+ im.set_cmap(cmap)
+ draw_if_interactive()
+
+
def imread(*args, **kwargs):
return _imread(*args, **kwargs)
if _imread.__doc__ is not None:
@@ -6322,31 +6340,69 @@
'center' 10
=============== =============
-If none of these are locations are suitable, loc can be a 2-tuple
-giving x,y in axes coords, ie::
- loc = 0, 1 # left top
- loc = 0.5, 0.5 # center
+Users can specify any arbitrary location for the legend using the
+*bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance
+of BboxBase(or its derivatives) or a tuple of 2 or 4 floats.
+For example, ::
+ loc = 'upper right', bbox_to_anchor = (0.5, 0.5)
+
+will place the legend so that the upper right corner of the legend at
+the center of the axes.
+
+The legend location can be specified in other coordinate, by using the
+*bbox_transform* keyword.
+
+The loc itslef can be a 2-tuple giving x,y of the lower-left corner of
+the legend in axes coords (*bbox_to_anchor* is ignored).
+
+
Keyword arguments:
*isaxes*: [ True | False ]
Indicates that this is an axes legend
+ *prop*: [ None | FontProperties | dict ]
+ A :class:`matplotlib.font_manager.FontProperties`
+ instance. If *prop* is a dictionary, a new instance will be
+ created with *prop*. If *None*, use rc settings.
+
*numpoints*: integer
- The number of points in the legend line, default is 4
+ The number of points in the legend for line
- *prop*: [ None | FontProperties ]
- A :class:`matplotlib.font_manager.FontProperties`
- instance, or *None* to use rc settings.
+ *scatterpoints*: integer
+ The number of points in the legend for scatter plot
+ *scatteroffsets*: list of floats
+ a list of yoffsets for scatter symbols in legend
+
*markerscale*: [ None | scalar ]
The relative size of legend markers vs. original. If *None*, use rc
settings.
+ *fancybox*: [ None | False | True ]
+ if True, draw a frame with a round fancybox. If None, use rc
+
*shadow*: [ None | False | True ]
If *True*, draw a shadow behind legend. If *None*, use rc settings.
+ *ncol* : integer
+ number of columns. default is 1
+
+ *mode* : [ "expand" | None ]
+ if mode is "expand", the legend will be horizontally expanded
+ to fill the axes area (or *bbox_to_anchor*)
+
+ *bbox_to_anchor* : an instance of BboxBase or a tuple of 2 or 4 floats
+ the bbox that the legend will be anchored.
+
+ *bbox_transform* : [ an instance of Transform | None ]
+ the transform for the bbox. transAxes if None.
+
+ *title* : string
+ the legend title
+
Padding and spacing between various elements use following keywords
parameters. The dimensions of these values are given as a fraction
of the fontsize. Values from rcParams will be used if None.
@@ -6362,9 +6418,14 @@
columnspacing the spacing between columns
================ ==================================================================
+
**Example:**
-.. plot:: mpl_examples/api/legend_demo.py"""
+.. plot:: mpl_examples/api/legend_demo.py
+
+Also see :ref:`plotting-guide-legend`.
+
+"""
ret = gca().legend(*args, **kwargs)
draw_if_interactive()
return ret
Property changes on: branches/mathtex/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
/trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py:7265-7303
+ /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
/trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py:7265-7303
+ /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
/trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py:7265-7303,7308-7317,7321
Property changes on: branches/mathtex/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
/trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py:7265-7303
+ /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
/trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py:7265-7303,7308-7317,7321
This was sent by the SourceForge.net collaborative development platform, the worl...
[truncated message content] |
|
From: <js...@us...> - 2009-08-03 12:21:37
|
Revision: 7332
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7332&view=rev
Author: jswhit
Date: 2009-08-03 12:21:30 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
prepare for new release
Modified Paths:
--------------
trunk/toolkits/basemap/Changelog
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog 2009-08-01 19:34:05 UTC (rev 7331)
+++ trunk/toolkits/basemap/Changelog 2009-08-03 12:21:30 UTC (rev 7332)
@@ -1,4 +1,4 @@
-version 0.99.4 (not yet released)
+version 0.99.4 (svn revision 7332)
* ax.frame replaced with ax.spines to maintain compatibility
with matplotlib spines support.
* added latmax kwarg to drawparallels and drawmeridians
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-01 19:34:23
|
Revision: 7331
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7331&view=rev
Author: jdh2358
Date: 2009-08-01 19:34:05 +0000 (Sat, 01 Aug 2009)
Log Message:
-----------
update the readme with build requirements
Modified Paths:
--------------
branches/v0_99_maint/release/osx/README.txt
Modified: branches/v0_99_maint/release/osx/README.txt
===================================================================
--- branches/v0_99_maint/release/osx/README.txt 2009-08-01 19:27:43 UTC (rev 7330)
+++ branches/v0_99_maint/release/osx/README.txt 2009-08-01 19:34:05 UTC (rev 7331)
@@ -19,6 +19,16 @@
How to build
--------------
+* You need a python framework build , numpy and wxpython to build the
+ mpl installers (wx requires this and we need wx to build the wxagg
+ extension). You can get the three required dependencies as
+ Installer apps, eg:
+
+
+ http://www.python.org/ftp/python/2.6.2/python-2.6.2-macosx2009-04-16.dmg
+ http://downloads.sourceforge.net/project/numpy/NumPy/1.3.0/numpy-1.3.0-py2.6-macosx10.5.dmg?use_mirror=voxel
+ http://downloads.sourceforge.net/project/wxpython/wxPython/2.8.10.1/wxPython2.8-osx-unicode-2.8.10.1-universal-py2.6.dmg?use_mirror=voxel
+
* You need to make sure to unset PKG_CONFIG_PATH to make sure the
static linking below is respected. Otherwise the mpl build script
will dynamically link using the libs from pkgconfig if you have this
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-01 19:28:02
|
Revision: 7330
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7330&view=rev
Author: jdh2358
Date: 2009-08-01 19:27:43 +0000 (Sat, 01 Aug 2009)
Log Message:
-----------
more fixes for osx
Modified Paths:
--------------
branches/v0_99_maint/doc/faq/installing_faq.rst
branches/v0_99_maint/release/osx/Makefile
Modified: branches/v0_99_maint/doc/faq/installing_faq.rst
===================================================================
--- branches/v0_99_maint/doc/faq/installing_faq.rst 2009-08-01 19:11:58 UTC (rev 7329)
+++ branches/v0_99_maint/doc/faq/installing_faq.rst 2009-08-01 19:27:43 UTC (rev 7330)
@@ -298,7 +298,7 @@
setuptools easy_install.
The mkpg installer will have a "zip" extension, and will have a name
-like file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5.zip` depending on
+like file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5_mpkg.zip` depending on
the python, matplotlib, and OSX versions. You need to unzip this file
using either the "unzip" command on OSX, or simply double clicking on
it to run StuffIt Expander. When you double click on the resultant
Modified: branches/v0_99_maint/release/osx/Makefile
===================================================================
--- branches/v0_99_maint/release/osx/Makefile 2009-08-01 19:11:58 UTC (rev 7329)
+++ branches/v0_99_maint/release/osx/Makefile 2009-08-01 19:27:43 UTC (rev 7330)
@@ -1,4 +1,5 @@
-PYTHON=python2.6
+PYVERSION=2.6
+PYTHON=python${PYVERSION}
SRCDIR=${PWD}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
@@ -90,14 +91,14 @@
bdist_mpkg &&\
${PYTHON} setupegg.py bdist_egg &&\
cd dist && \
- zip -ro matplotlib-${MPLVERSION}-py2.5-macosx10.5.zip matplotlib-${MPLVERSION}-py2.5-macosx10.5.mpkg
+ zip -ro matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5_mpkg.zip matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.mpkg
upload:
rm -rf upload &&\
mkdir upload &&\
cp matplotlib-${MPLVERSION}.tar.gz upload/ &&\
- cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}_r0-py2.5-macosx-10.3-fat.egg upload/matplotlib-${MPLVERSION}-macosx-py2.5.egg &&\
- cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py2.5-macosx10.5.zip upload/matplotlib-${MPLVERSION}-py2.5-mpkg.zip&&\
+ cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}_r0-py${PYVERSION}-macosx-10.3-fat.egg upload/matplotlib-${MPLVERSION}-macosx-py${PYVERSION}.egg &&\
+ cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.zip upload/matplotlib-${MPLVERSION}-py${PYVERSION}-mpkg.zip&&\
scp upload/* jd...@fr...:uploads/
all:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-01 19:12:19
|
Revision: 7329
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7329&view=rev
Author: jdh2358
Date: 2009-08-01 19:11:58 +0000 (Sat, 01 Aug 2009)
Log Message:
-----------
some fixes for the binary builds
Modified Paths:
--------------
branches/v0_99_maint/doc/faq/installing_faq.rst
branches/v0_99_maint/doc/users/installing.rst
branches/v0_99_maint/release/osx/Makefile
branches/v0_99_maint/release/osx/README.txt
Modified: branches/v0_99_maint/doc/faq/installing_faq.rst
===================================================================
--- branches/v0_99_maint/doc/faq/installing_faq.rst 2009-08-01 17:37:26 UTC (rev 7328)
+++ branches/v0_99_maint/doc/faq/installing_faq.rst 2009-08-01 19:11:58 UTC (rev 7329)
@@ -287,11 +287,66 @@
<http://www.python.org/download/>`_.
+.. _install_osx_binaries:
+
+Installing OSX binaries
+-----------------------
+
+If you want to install matplotlib from one of the binary installers we
+build, you have two choices: a mpkg installer, which is a typical
+Installer.app, or an binary OSX egg, which you can install via
+setuptools easy_install.
+
+The mkpg installer will have a "zip" extension, and will have a name
+like file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5.zip` depending on
+the python, matplotlib, and OSX versions. You need to unzip this file
+using either the "unzip" command on OSX, or simply double clicking on
+it to run StuffIt Expander. When you double click on the resultant
+mpkd directory, which will have a name like
+file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5.mpkg`, it will run the
+Installer.app, prompt you for a password if you need system wide
+installation privileges, and install to a directory like
+file:`/Library/Python/2.5/site-packages/`, again depedending on your
+python version. This directory may not be in your python path, so you
+can test your installation with::
+
+ > python -c 'import matplotlib; print matplotlib.__version__, matplotlib.__file__'
+
+If you get an error like::
+
+ Traceback (most recent call last):
+ File "<string>", line 1, in <module>
+ ImportError: No module named matplotlib
+
+then you will need to set your PYTHONPATH, eg::
+
+ export PYTHONPATH=/Library/Python/2.5/site-packages:$PYTHONPATH
+
+See also ref:`environment-variables`.
+
.. _easy-install-osx-egg:
-easy_install from egg?
+easy_install from egg
------------------------------
+You can also us the eggs we build for OSX (see the `installation
+instructions
+<http://pypi.python.org/pypi/setuptools#cygwin-mac-os-x-linux-other>`_
+for easy_install if you do not have it on your system already). You
+can try::
+
+ > easy_install matplotlib
+
+which should grab the latest egg from the sourceforge site, but the
+naming conventions for OSX eggs appear to be broken (see below) so
+there is no guarantee the right egg will be found. We recommend you
+download the latest egg from our `download site
+<http://sourceforge.net/projects/matplotlib/files/>`_ directly to your
+harddrive, and manually install it with
+
+ > easy_install --install-dir=~/dev/lib/python2.5/site-packages/ matplotlib-0.99.0.rc1-py2.5-macosx-10.5-i386.egg
+
+
Some users have reported problems with the egg for 0.98 from the
matplotlib download site, with ``easy_install``, getting an error::
Modified: branches/v0_99_maint/doc/users/installing.rst
===================================================================
--- branches/v0_99_maint/doc/users/installing.rst 2009-08-01 17:37:26 UTC (rev 7328)
+++ branches/v0_99_maint/doc/users/installing.rst 2009-08-01 19:11:58 UTC (rev 7329)
@@ -63,14 +63,17 @@
And a *voila*, a figure pops up. But we are putting the cart ahead of
the horse -- first we need to get matplotlib installed. We provide
prebuilt binaries for OS X and Windows on the matplotlib `download
-<http://sourceforge.net/project/showfiles.php?group_id=80706>`_ page.
-Click on the latest release of the "matplotlib" package, choose your
-python version (2.4 or 2.5) and your platform (macosx or win32) and
-you should be good to go. If you have any problems, please check the
+<http://sourceforge.net/projects/matplotlib/files/>`_ page. Click on
+the latest release of the "matplotlib" package, choose your python
+version (2.4 or 2.5) and your platform (macosx or win32) and you
+should be good to go. If you have any problems, please check the
:ref:`installing-faq`, google around a little bit, and post a question
the `mailing list
<http://sourceforge.net/project/showfiles.php?group_id=80706>`_.
+Instructions for installing our OSX binaries are found in the FAQ
+ref:`install_osx_binaries`.
+
Note that when testing matplotlib installations from the interactive
python console, there are some issues relating to user interface
toolkits and interactive settings that are discussed in
Modified: branches/v0_99_maint/release/osx/Makefile
===================================================================
--- branches/v0_99_maint/release/osx/Makefile 2009-08-01 17:37:26 UTC (rev 7328)
+++ branches/v0_99_maint/release/osx/Makefile 2009-08-01 19:11:58 UTC (rev 7329)
@@ -1,3 +1,4 @@
+PYTHON=python2.6
SRCDIR=${PWD}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
@@ -3,4 +4,5 @@
FREETYPEVERSION=2.3.7
MPLVERSION=0.99.0.rc1
+BDISTMPKGVERSION=0.4.4
MPLSRC=matplotlib-${MPLVERSION}
MACOSX_DEPLOYMENT_TARGET=10.4
@@ -20,8 +22,8 @@
clean:
rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \
- freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-0.4.3.tar.gz \
- bdist_mpkg-0.4.3 \
+ freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \
+ bdist_mpkg-${BDISTMPKGVERSION} \
zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \
matplotlib-${MPLVERSION} *~
@@ -29,10 +31,9 @@
wget http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\
wget http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\
wget http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\
- wget http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-0.4.3.tar.gz&&\
- tar xvfz bdist_mpkg-0.4.3.tar.gz &&\
- patch -p0 < data/bdist.patch
- echo "You need to to install bdist_mpkg-0.4.3 now"
+ wget http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\
+ tar xvfz bdist_mpkg-${BDISTMPKGVERSION}.tar.gz &&\
+ echo "You need to to install bdist_mpkg-${BDISTMPKGVERSION} now"
@@ -87,7 +88,7 @@
export CFLAGS=${CFLAGS} &&\
export LDFLAGS=${LDFLAGS} &&\
bdist_mpkg &&\
- python setupegg.py bdist_egg &&\
+ ${PYTHON} setupegg.py bdist_egg &&\
cd dist && \
zip -ro matplotlib-${MPLVERSION}-py2.5-macosx10.5.zip matplotlib-${MPLVERSION}-py2.5-macosx10.5.mpkg
Modified: branches/v0_99_maint/release/osx/README.txt
===================================================================
--- branches/v0_99_maint/release/osx/README.txt 2009-08-01 17:37:26 UTC (rev 7328)
+++ branches/v0_99_maint/release/osx/README.txt 2009-08-01 19:11:58 UTC (rev 7329)
@@ -7,9 +7,7 @@
-------------
* :file:`bdist_mkpg` - the distutils.extension to build Installer.app
- mpkg installers. It is patched from the tarball with
- file:`data/bdist.patch` because 0.4.3 is broken on OS X 10.5.
- Instructions on how to patch and install are below
+ mpkg installers.
* :file:`data` - some config files and patches needed for the build
@@ -38,7 +36,7 @@
* install the patched bdist_mpkg, that the fetch_deps step just created::
- cd bdist_mpkg-0.4.3
+ cd bdist_mpkg-0.4.4
sudo python setup.py install
* build the dependencies::
@@ -64,7 +62,7 @@
cd release/osx/
unset PKG_CONFIG_PATH
make fetch_deps
- cd bdist_mpkg-0.4.3
+ cd bdist_mpkg-0.4.4
sudo python setup.py install
cd ..
make dependencies
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-08-01 17:37:34
|
Revision: 7328
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7328&view=rev
Author: jdh2358
Date: 2009-08-01 17:37:26 +0000 (Sat, 01 Aug 2009)
Log Message:
-----------
Applied Michiel's sf patch 2823885 to remove the /usr/X11R6 dirs from darwin
Modified Paths:
--------------
branches/v0_99_maint/doc/_templates/index.html
branches/v0_99_maint/doc/users/installing.rst
branches/v0_99_maint/setupext.py
Modified: branches/v0_99_maint/doc/_templates/index.html
===================================================================
--- branches/v0_99_maint/doc/_templates/index.html 2009-07-31 18:55:17 UTC (rev 7327)
+++ branches/v0_99_maint/doc/_templates/index.html 2009-08-01 17:37:26 UTC (rev 7328)
@@ -3,7 +3,7 @@
{% block body %}
- <h1>Welcome</h1>
+ <h1>mpl</h1>
<p>matplotlib is a python 2D plotting library which produces
publication quality figures in a variety of hardcopy formats and
Modified: branches/v0_99_maint/doc/users/installing.rst
===================================================================
--- branches/v0_99_maint/doc/users/installing.rst 2009-07-31 18:55:17 UTC (rev 7327)
+++ branches/v0_99_maint/doc/users/installing.rst 2009-08-01 17:37:26 UTC (rev 7328)
@@ -114,7 +114,8 @@
These are external packages which you will need to install before
installing matplotlib. Windows users only need the first two (python
and numpy) since the others are built into the matplotlib windows
-installers available for download at the sourceforge site.
+installers available for download at the sourceforge site. If you are
+building on OSX, see :ref:`build_osx`
:term:`python` 2.4 (or later but not python3)
matplotlib requires python 2.4 or later (`download <http://www.python.org/download/>`__)
@@ -183,3 +184,19 @@
+.. _build_osx:
+
+Building on OSX
+==================
+
+The build situation on OSX is complicated by the various places one
+can get the png and freetype requirements from (darwinports, fink,
+/usr/X11R6) and the different architectures (x86, ppc, universal) and
+the different OSX version (10.4 and 10.5). We recommend that you build
+the way we do for the OSX release: by grabbing the tarbar or svn
+repository, cd-ing into the release/osx dir, and following the
+instruction in the README. This directory has a Makefile which will
+automatically grab the zlib, png and freetype dependencies from the
+web, build them with the right flags to make universal libraries, and
+then build the matplotlib source and binary installers.
+
\ No newline at end of file
Modified: branches/v0_99_maint/setupext.py
===================================================================
--- branches/v0_99_maint/setupext.py 2009-07-31 18:55:17 UTC (rev 7327)
+++ branches/v0_99_maint/setupext.py 2009-08-01 17:37:26 UTC (rev 7328)
@@ -51,7 +51,7 @@
'linux' : ['/usr/local', '/usr',],
'cygwin' : ['/usr/local', '/usr',],
'darwin' : ['/sw/lib/freetype2', '/sw/lib/freetype219', '/usr/local',
- '/usr', '/sw', '/usr/X11R6'],
+ '/usr', '/sw'],
'freebsd4' : ['/usr/local', '/usr'],
'freebsd5' : ['/usr/local', '/usr'],
'freebsd6' : ['/usr/local', '/usr'],
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 18:55:29
|
Revision: 7327
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7327&view=rev
Author: jdh2358
Date: 2009-07-31 18:55:17 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
added lena to mpl_data
Added Paths:
-----------
trunk/mpl_data/
trunk/mpl_data/lena.png
Added: trunk/mpl_data/lena.png
===================================================================
(Binary files differ)
Property changes on: trunk/mpl_data/lena.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 18:11:58
|
Revision: 7326
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7326&view=rev
Author: jdh2358
Date: 2009-07-31 18:11:50 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
update the makefile for win32 build
Modified Paths:
--------------
branches/v0_99_maint/release/win32/Makefile
Modified: branches/v0_99_maint/release/win32/Makefile
===================================================================
--- branches/v0_99_maint/release/win32/Makefile 2009-07-31 15:52:19 UTC (rev 7325)
+++ branches/v0_99_maint/release/win32/Makefile 2009-07-31 18:11:50 UTC (rev 7326)
@@ -1,4 +1,4 @@
-PYDIR = C:/Python26
+PYDIR = C:/Python25
PYTHON = ${PYDIR}/python.exe
SRCDIR = ${PWD}
WINSRCDIR = `${PWD}/data/mingw_path.sh ${PWD}`
@@ -6,7 +6,7 @@
PNGVERSION = 1.2.36
FREETYPEVERSION = 2.3.9
TCLTKVERSION = 8.5.7
-MPLVERSION = 0.98.5.3
+MPLVERSION = 0.99.0.rc1
## You shouldn't need to configure past this point
@@ -89,8 +89,8 @@
rm -rf build &&\
cp ../data/setup*.* . &&\
export CFLAGS="${CFLAGS}" &&\
- ${PYTHON} setupwin.py build_ext -c mingw32 -I ${PY_INCLUDE} -L ${PY_LINKER} bdist_wininst
- #${PYTHON} setupwinegg.py build_ext -c mingw32 -I ${PY_INCLUDE} -L ${PY_LINKER} bdist_egg
+ ${PYTHON} setupwin.py build_ext -c mingw32 -I ${PY_INCLUDE} -L ${PY_LINKER} bdist_wininst &&\
+ ${PYTHON} setupwinegg.py build_ext -c mingw32 -I ${PY_INCLUDE} -L ${PY_LINKER} bdist_egg
inplace:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 15:52:28
|
Revision: 7325
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7325&view=rev
Author: jdh2358
Date: 2009-07-31 15:52:19 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
added miktex win32 patch from sf patch 2820194
Modified Paths:
--------------
branches/v0_99_maint/lib/matplotlib/texmanager.py
branches/v0_99_maint/setupext.py
Modified: branches/v0_99_maint/lib/matplotlib/texmanager.py
===================================================================
--- branches/v0_99_maint/lib/matplotlib/texmanager.py 2009-07-31 15:39:30 UTC (rev 7324)
+++ branches/v0_99_maint/lib/matplotlib/texmanager.py 2009-07-31 15:52:19 UTC (rev 7325)
@@ -56,7 +56,7 @@
def dvipng_hack_alpha():
p = Popen('dvipng -version', shell=True, stdin=PIPE, stdout=PIPE,
- stderr=STDOUT, close_fds=True)
+ stderr=STDOUT, close_fds=(sys.platform!='win32'))
stdin, stdout = p.stdin, p.stdout
for line in stdout:
if line.startswith('dvipng '):
Modified: branches/v0_99_maint/setupext.py
===================================================================
--- branches/v0_99_maint/setupext.py 2009-07-31 15:39:30 UTC (rev 7324)
+++ branches/v0_99_maint/setupext.py 2009-07-31 15:52:19 UTC (rev 7325)
@@ -174,7 +174,7 @@
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
- close_fds=True)
+ close_fds=(sys.platform != 'win32'))
return p.stdin, p.stdout
class CleanUpFile:
@@ -458,7 +458,7 @@
try:
stdin, stdout = run_child_process('latex -version')
line = stdout.readlines()[0]
- pattern = '3\.1\d+'
+ pattern = '(3\.1\d+)|(MiKTeX \d+.\d+)'
match = re.search(pattern, line)
print_status("latex", match.group(0))
return True
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 15:39:40
|
Revision: 7324
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7324&view=rev
Author: jdh2358
Date: 2009-07-31 15:39:30 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
revert setupext.py patch for osx; breaks my osx test build
Modified Paths:
--------------
branches/v0_99_maint/setupext.py
Modified: branches/v0_99_maint/setupext.py
===================================================================
--- branches/v0_99_maint/setupext.py 2009-07-31 15:32:11 UTC (rev 7323)
+++ branches/v0_99_maint/setupext.py 2009-07-31 15:39:30 UTC (rev 7324)
@@ -51,7 +51,7 @@
'linux' : ['/usr/local', '/usr',],
'cygwin' : ['/usr/local', '/usr',],
'darwin' : ['/sw/lib/freetype2', '/sw/lib/freetype219', '/usr/local',
- '/usr', '/sw'],
+ '/usr', '/sw', '/usr/X11R6'],
'freebsd4' : ['/usr/local', '/usr'],
'freebsd5' : ['/usr/local', '/usr'],
'freebsd6' : ['/usr/local', '/usr'],
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 15:32:17
|
Revision: 7323
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7323&view=rev
Author: jdh2358
Date: 2009-07-31 15:32:11 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
apply sf patches 2830233 and 2823885 for osx setup and 64 bit; thanks Michiel
Modified Paths:
--------------
branches/v0_99_maint/release/osx/Makefile
branches/v0_99_maint/setupext.py
branches/v0_99_maint/src/_macosx.m
Modified: branches/v0_99_maint/release/osx/Makefile
===================================================================
--- branches/v0_99_maint/release/osx/Makefile 2009-07-31 13:49:33 UTC (rev 7322)
+++ branches/v0_99_maint/release/osx/Makefile 2009-07-31 15:32:11 UTC (rev 7323)
@@ -2,7 +2,7 @@
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
FREETYPEVERSION=2.3.7
-MPLVERSION=0.98.5.3
+MPLVERSION=0.99.0.rc1
MPLSRC=matplotlib-${MPLVERSION}
MACOSX_DEPLOYMENT_TARGET=10.4
Modified: branches/v0_99_maint/setupext.py
===================================================================
--- branches/v0_99_maint/setupext.py 2009-07-31 13:49:33 UTC (rev 7322)
+++ branches/v0_99_maint/setupext.py 2009-07-31 15:32:11 UTC (rev 7323)
@@ -51,7 +51,7 @@
'linux' : ['/usr/local', '/usr',],
'cygwin' : ['/usr/local', '/usr',],
'darwin' : ['/sw/lib/freetype2', '/sw/lib/freetype219', '/usr/local',
- '/usr', '/sw', '/usr/X11R6'],
+ '/usr', '/sw'],
'freebsd4' : ['/usr/local', '/usr'],
'freebsd5' : ['/usr/local', '/usr'],
'freebsd6' : ['/usr/local', '/usr'],
Modified: branches/v0_99_maint/src/_macosx.m
===================================================================
--- branches/v0_99_maint/src/_macosx.m 2009-07-31 13:49:33 UTC (rev 7322)
+++ branches/v0_99_maint/src/_macosx.m 2009-07-31 15:32:11 UTC (rev 7323)
@@ -7,15 +7,19 @@
static int nwin = 0; /* The number of open windows */
+
+/* Use Atsui for Mac OS X 10.4, CoreText for Mac OS X 10.5 */
+#ifndef MAC_OS_X_VERSION_10_5
static int ngc = 0; /* The number of graphics contexts in use */
/* For drawing Unicode strings with ATSUI */
static ATSUStyle style = NULL;
static ATSUTextLayout layout = NULL;
+#endif
/* CGFloat was defined in Mac OS X 10.5 */
-#ifndef CGFloat
+#ifndef CGFLOAT_DEFINED
#define CGFloat float
#endif
@@ -171,6 +175,7 @@
return 1;
}
+#ifndef MAC_OS_X_VERSION_10_5
static int _init_atsui(void)
{
OSStatus status;
@@ -208,6 +213,7 @@
if (status!=noErr)
PyErr_WarnEx(PyExc_RuntimeWarning, "ATSUDisposeTextLayout failed", 1);
}
+#endif
static int _draw_path(CGContextRef cr, void* iterator)
{
@@ -336,6 +342,10 @@
- (void)mouseUp:(NSEvent*)event;
- (void)mouseDragged:(NSEvent*)event;
- (void)mouseMoved:(NSEvent*)event;
+- (void)rightMouseDown:(NSEvent*)event;
+- (void)rightMouseUp:(NSEvent*)event;
+- (void)otherMouseDown:(NSEvent*)event;
+- (void)otherMouseUp:(NSEvent*)event;
- (void)setRubberband:(NSRect)rect;
- (void)removeRubberband;
- (const char*)convertKeyEvent:(NSEvent*)event;
@@ -375,6 +385,7 @@
CGContextRef cr;
NSSize size;
int level;
+ CGFloat color[4];
} GraphicsContext;
static CGMutablePathRef _create_path(void* iterator)
@@ -440,6 +451,7 @@
self->cr = NULL;
self->level = 0;
+#ifndef MAC_OS_X_VERSION_10_5
if (ngc==0)
{
int ok = _init_atsui();
@@ -449,10 +461,12 @@
}
}
ngc++;
+#endif
return (PyObject*) self;
}
+#ifndef MAC_OS_X_VERSION_10_5
static void
GraphicsContext_dealloc(GraphicsContext *self)
{
@@ -461,6 +475,7 @@
self->ob_type->tp_free((PyObject*)self);
}
+#endif
static PyObject*
GraphicsContext_repr(GraphicsContext* self)
@@ -516,6 +531,9 @@
return NULL;
}
CGContextSetAlpha(cr, alpha);
+
+ self->color[3] = alpha;
+
Py_INCREF(Py_None);
return Py_None;
}
@@ -651,7 +669,7 @@
static BOOL
_set_dashes(CGContextRef cr, PyObject* linestyle)
{
- float phase = 0.0;
+ CGFloat phase = 0.0;
PyObject* offset;
PyObject* dashes;
@@ -686,7 +704,7 @@
}
int n = PyTuple_GET_SIZE(dashes);
int i;
- float* lengths = malloc(n*sizeof(float));
+ CGFloat* lengths = malloc(n*sizeof(CGFloat));
if(!lengths)
{
PyErr_SetString(PyExc_MemoryError, "Failed to store dashes");
@@ -697,9 +715,9 @@
{
PyObject* value = PyTuple_GET_ITEM(dashes, i);
if (PyFloat_Check(value))
- lengths[i] = (float) PyFloat_AS_DOUBLE(value);
+ lengths[i] = (CGFloat) PyFloat_AS_DOUBLE(value);
else if (PyInt_Check(value))
- lengths[i] = (float) PyInt_AS_LONG(value);
+ lengths[i] = (CGFloat) PyInt_AS_LONG(value);
else break;
}
Py_DECREF(dashes);
@@ -750,6 +768,11 @@
CGContextSetRGBStrokeColor(cr, r, g, b, 1.0);
CGContextSetRGBFillColor(cr, r, g, b, 1.0);
+
+ self->color[0] = r;
+ self->color[1] = g;
+ self->color[2] = b;
+
Py_INCREF(Py_None);
return Py_None;
}
@@ -889,28 +912,12 @@
}
else
{
- int ok;
- float color[4] = {0, 0, 0, 1};
CGPatternRef pattern;
CGColorSpaceRef baseSpace;
CGColorSpaceRef patternSpace;
static const CGPatternCallbacks callbacks = {0,
&_draw_hatch,
&_release_hatch};
- PyObject* rgb = PyObject_CallMethod((PyObject*)self, "get_rgb", "");
- if (!rgb)
- {
- Py_DECREF(hatchpath);
- return NULL;
- }
- ok = PyArg_ParseTuple(rgb, "ffff", &color[0], &color[1], &color[2], &color[3]);
- Py_DECREF(rgb);
- if (!ok)
- {
- Py_DECREF(hatchpath);
- return NULL;
- }
-
baseSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
if (!baseSpace)
{
@@ -938,7 +945,7 @@
kCGPatternTilingNoDistortion,
false,
&callbacks);
- CGContextSetFillPattern(cr, pattern, color);
+ CGContextSetFillPattern(cr, pattern, self->color);
CGPatternRelease(pattern);
iterator = get_path_iterator(path,
transform,
@@ -1227,6 +1234,8 @@
if (Ntransforms)
{
+ CGAffineTransform master;
+ double a, b, c, d, tx, ty;
PyObject* values = PyObject_CallMethod(master_transform, "to_values", "");
if (!values)
{
@@ -1239,15 +1248,15 @@
ok = 0;
goto exit;
}
- CGAffineTransform master;
- ok = PyArg_ParseTuple(values, "ffffff",
- &master.a,
- &master.b,
- &master.c,
- &master.d,
- &master.tx,
- &master.ty);
+ /* CGAffineTransform contains CGFloat; cannot use master directly */
+ ok = PyArg_ParseTuple(values, "dddddd", &a, &b, &c, &d, &tx, &ty);
Py_DECREF(values);
+ master.a = a;
+ master.b = b;
+ master.c = c;
+ master.d = d;
+ master.tx = tx;
+ master.ty = ty;
if (!ok) goto exit;
CGContextConcatCTM(cr, master);
}
@@ -1652,13 +1661,15 @@
}
if (PyTuple_Check(values))
{
- ok = PyArg_ParseTuple(values, "ffffff",
- &master.a,
- &master.b,
- &master.c,
- &master.d,
- &master.tx,
- &master.ty);
+ double a, b, c, d, tx, ty;
+ /* CGAffineTransform contains CGFloat; cannot use master directly */
+ ok = PyArg_ParseTuple(values, "dddddd", &a, &b, &c, &d, &tx, &ty);
+ master.a = a;
+ master.b = b;
+ master.c = c;
+ master.d = d;
+ master.tx = tx;
+ master.ty = ty;
}
else
{
@@ -1866,7 +1877,11 @@
}
+#ifdef MAC_OS_X_VERSION_10_5
+static CTFontRef
+#else
static ATSFontRef
+#endif
setfont(CGContextRef cr, PyObject* family, float size, const char weight[],
const char italic[])
{
@@ -1876,7 +1891,11 @@
const char* temp;
const char* name = "Times-Roman";
CFStringRef string;
- ATSFontRef atsfont = 0;
+#ifdef MAC_OS_X_VERSION_10_5
+ CTFontRef font = 0;
+#else
+ ATSFontRef font = 0;
+#endif
const int k = (strcmp(italic, "italic") ? 0 : 2)
+ (strcmp(weight, "bold") ? 0 : 1);
@@ -2072,26 +2091,38 @@
string = CFStringCreateWithCString(kCFAllocatorDefault,
temp,
kCFStringEncodingMacRoman);
- atsfont = ATSFontFindFromPostScriptName(string, kATSOptionFlagsDefault);
+#ifdef MAC_OS_X_VERSION_10_5
+ font = CTFontCreateWithName(string, size, NULL);
+#else
+ font = ATSFontFindFromPostScriptName(string, kATSOptionFlagsDefault);
+#endif
+
CFRelease(string);
- if(atsfont)
+ if(font)
{
name = temp;
break;
}
}
- if(!atsfont)
+ if(!font)
{ string = CFStringCreateWithCString(kCFAllocatorDefault,
name,
kCFStringEncodingMacRoman);
- atsfont = ATSFontFindFromPostScriptName(string, kATSOptionFlagsDefault);
+#ifdef MAC_OS_X_VERSION_10_5
+ font = CTFontCreateWithName(string, size, NULL);
+#else
+ font = ATSFontFindFromPostScriptName(string, kATSOptionFlagsDefault);
+#endif
CFRelease(string);
}
+#ifndef MAC_OS_X_VERSION_10_5
CGContextSelectFont(cr, name, size, kCGEncodingMacRoman);
- return atsfont;
+#endif
+ return font;
}
+#ifdef MAC_OS_X_VERSION_10_5
static PyObject*
GraphicsContext_draw_text (GraphicsContext* self, PyObject* args)
{
@@ -2104,6 +2135,174 @@
const char* weight;
const char* italic;
float angle;
+ CTFontRef font;
+ CGColorRef color;
+ CGFloat descent;
+
+ CFStringRef keys[2];
+ CFTypeRef values[2];
+
+ CGContextRef cr = self->cr;
+ if (!cr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "CGContextRef is NULL");
+ return NULL;
+ }
+
+ if(!PyArg_ParseTuple(args, "ffu#Ofssf",
+ &x,
+ &y,
+ &text,
+ &n,
+ &family,
+ &size,
+ &weight,
+ &italic,
+ &angle)) return NULL;
+
+ font = setfont(cr, family, size, weight, italic);
+
+ color = CGColorCreateGenericRGB(self->color[0],
+ self->color[1],
+ self->color[2],
+ self->color[3]);
+
+ keys[0] = kCTFontAttributeName;
+ keys[1] = kCTForegroundColorAttributeName;
+ values[0] = font;
+ values[1] = color;
+ CFDictionaryRef attributes = CFDictionaryCreate(kCFAllocatorDefault,
+ (const void**)&keys,
+ (const void**)&values,
+ 2,
+ &kCFTypeDictionaryKeyCallBacks,
+ &kCFTypeDictionaryValueCallBacks);
+ CGColorRelease(color);
+ CFRelease(font);
+
+ CFStringRef s = CFStringCreateWithCharacters(kCFAllocatorDefault, text, n);
+
+ CFAttributedStringRef string = CFAttributedStringCreate(kCFAllocatorDefault,
+ s,
+ attributes);
+ CFRelease(s);
+ CFRelease(attributes);
+
+ CTLineRef line = CTLineCreateWithAttributedString(string);
+ CFRelease(string);
+
+ CTLineGetTypographicBounds(line, NULL, &descent, NULL);
+
+ if (!line)
+ {
+ PyErr_SetString(PyExc_RuntimeError,
+ "CTLineCreateWithAttributedString failed");
+ return NULL;
+ }
+
+ CGContextSetTextMatrix(cr, CGAffineTransformIdentity);
+ if (angle)
+ {
+ CGContextSaveGState(cr);
+ CGContextTranslateCTM(cr, x, y);
+ CGContextRotateCTM(cr, angle*M_PI/180);
+ CTLineDraw(line, cr);
+ CGContextRestoreGState(cr);
+ }
+ else
+ {
+ CGContextSetTextPosition(cr, x, y);
+ CTLineDraw(line, cr);
+ }
+ CFRelease(line);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject*
+GraphicsContext_get_text_width_height_descent(GraphicsContext* self, PyObject* args)
+{
+ const UniChar* text;
+ int n;
+ PyObject* family;
+ float size;
+ const char* weight;
+ const char* italic;
+
+ CGFloat ascent;
+ CGFloat descent;
+ double width;
+ CGRect rect;
+
+ CTFontRef font;
+
+ CGContextRef cr = self->cr;
+ if (!cr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "CGContextRef is NULL");
+ return NULL;
+ }
+
+ if(!PyArg_ParseTuple(args, "u#Ofss",
+ &text, &n, &family, &size, &weight, &italic))
+ return NULL;
+
+ font = setfont(cr, family, size, weight, italic);
+
+ CFStringRef keys[1];
+ CFTypeRef values[1];
+
+ keys[0] = kCTFontAttributeName;
+ values[0] = font;
+ CFDictionaryRef attributes = CFDictionaryCreate(kCFAllocatorDefault,
+ (const void**)&keys,
+ (const void**)&values,
+ 1,
+ &kCFTypeDictionaryKeyCallBacks,
+ &kCFTypeDictionaryValueCallBacks);
+ CFRelease(font);
+
+ CFStringRef s = CFStringCreateWithCharacters(kCFAllocatorDefault, text, n);
+
+ CFAttributedStringRef string = CFAttributedStringCreate(kCFAllocatorDefault,
+ s,
+ attributes);
+ CFRelease(s);
+ CFRelease(attributes);
+
+ CTLineRef line = CTLineCreateWithAttributedString(string);
+ CFRelease(string);
+
+ if (!line)
+ {
+ PyErr_SetString(PyExc_RuntimeError,
+ "CTLineCreateWithAttributedString failed");
+ return NULL;
+ }
+
+ width = CTLineGetTypographicBounds(line, &ascent, &descent, NULL);
+ rect = CTLineGetImageBounds(line, cr);
+
+ CFRelease(line);
+
+ return Py_BuildValue("fff", width, rect.size.height, descent);
+}
+
+#else
+
+static PyObject*
+GraphicsContext_draw_text (GraphicsContext* self, PyObject* args)
+{
+ float x;
+ float y;
+ const UniChar* text;
+ int n;
+ PyObject* family;
+ float size;
+ const char* weight;
+ const char* italic;
+ float angle;
ATSFontRef atsfont;
CGContextRef cr = self->cr;
if (!cr)
@@ -2188,6 +2387,102 @@
return Py_None;
}
+static PyObject*
+GraphicsContext_get_text_width_height_descent(GraphicsContext* self, PyObject* args)
+{
+ const UniChar* text;
+ int n;
+ PyObject* family;
+ float size;
+ const char* weight;
+ const char* italic;
+
+ ATSFontRef atsfont;
+
+ CGContextRef cr = self->cr;
+ if (!cr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "CGContextRef is NULL");
+ return NULL;
+ }
+
+ if(!PyArg_ParseTuple(args, "u#Ofss", &text, &n, &family, &size, &weight, &italic)) return NULL;
+
+ atsfont = setfont(cr, family, size, weight, italic);
+
+ OSStatus status = noErr;
+ ATSUAttributeTag tags[] = {kATSUFontTag,
+ kATSUSizeTag,
+ kATSUQDBoldfaceTag,
+ kATSUQDItalicTag};
+ ByteCount sizes[] = {sizeof(ATSUFontID),
+ sizeof(Fixed),
+ sizeof(Boolean),
+ sizeof(Boolean)};
+ Fixed atsuSize = Long2Fix(size);
+ Boolean isBold = FALSE; /* setfont takes care of this */
+ Boolean isItalic = FALSE; /* setfont takes care of this */
+ ATSUAttributeValuePtr values[] = {&atsfont, &atsuSize, &isBold, &isItalic};
+
+ status = ATSUSetAttributes(style, 4, tags, sizes, values);
+ if (status!=noErr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "ATSUSetAttributes failed");
+ return NULL;
+ }
+
+ status = ATSUSetTextPointerLocation(layout,
+ text,
+ kATSUFromTextBeginning, /* offset from beginning */
+ kATSUToTextEnd, /* length of text range */
+ n); /* length of text buffer */
+ if (status!=noErr)
+ {
+ PyErr_SetString(PyExc_RuntimeError,
+ "ATSUCreateTextLayoutWithTextPtr failed");
+ return NULL;
+ }
+
+ status = ATSUSetRunStyle(layout,
+ style,
+ kATSUFromTextBeginning,
+ kATSUToTextEnd);
+ if (status!=noErr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "ATSUSetRunStyle failed");
+ return NULL;
+ }
+
+ ATSUAttributeTag tag = kATSUCGContextTag;
+ ByteCount bc = sizeof (CGContextRef);
+ ATSUAttributeValuePtr value = &cr;
+ status = ATSUSetLayoutControls(layout, 1, &tag, &bc, &value);
+ if (status!=noErr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "ATSUSetLayoutControls failed");
+ return NULL;
+ }
+
+ ATSUTextMeasurement before;
+ ATSUTextMeasurement after;
+ ATSUTextMeasurement ascent;
+ ATSUTextMeasurement descent;
+ status = ATSUGetUnjustifiedBounds(layout,
+ kATSUFromTextBeginning, kATSUToTextEnd,
+ &before, &after, &ascent, &descent);
+ if (status!=noErr)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "ATSUGetUnjustifiedBounds failed");
+ return NULL;
+ }
+
+ const float width = FixedToFloat(after-before);
+ const float height = FixedToFloat(ascent-descent);
+
+ return Py_BuildValue("fff", width, height, FixedToFloat(descent));
+}
+#endif
+
static void _data_provider_release(void* info, const void* data, size_t size)
{
PyObject* image = (PyObject*)info;
@@ -2293,101 +2588,6 @@
}
static PyObject*
-GraphicsContext_get_text_width_height_descent(GraphicsContext* self, PyObject* args)
-{
- const UniChar* text;
- int n;
- PyObject* family;
- float size;
- const char* weight;
- const char* italic;
-
- ATSFontRef atsfont;
-
- CGContextRef cr = self->cr;
- if (!cr)
- {
- PyErr_SetString(PyExc_RuntimeError, "CGContextRef is NULL");
- return NULL;
- }
-
- if(!PyArg_ParseTuple(args, "u#Ofss", &text, &n, &family, &size, &weight, &italic)) return NULL;
-
- atsfont = setfont(cr, family, size, weight, italic);
-
- OSStatus status = noErr;
- ATSUAttributeTag tags[] = {kATSUFontTag,
- kATSUSizeTag,
- kATSUQDBoldfaceTag,
- kATSUQDItalicTag};
- ByteCount sizes[] = {sizeof(ATSUFontID),
- sizeof(Fixed),
- sizeof(Boolean),
- sizeof(Boolean)};
- Fixed atsuSize = Long2Fix(size);
- Boolean isBold = FALSE; /* setfont takes care of this */
- Boolean isItalic = FALSE; /* setfont takes care of this */
- ATSUAttributeValuePtr values[] = {&atsfont, &atsuSize, &isBold, &isItalic};
-
- status = ATSUSetAttributes(style, 4, tags, sizes, values);
- if (status!=noErr)
- {
- PyErr_SetString(PyExc_RuntimeError, "ATSUSetAttributes failed");
- return NULL;
- }
-
- status = ATSUSetTextPointerLocation(layout,
- text,
- kATSUFromTextBeginning, /* offset from beginning */
- kATSUToTextEnd, /* length of text range */
- n); /* length of text buffer */
- if (status!=noErr)
- {
- PyErr_SetString(PyExc_RuntimeError,
- "ATSUCreateTextLayoutWithTextPtr failed");
- return NULL;
- }
-
- status = ATSUSetRunStyle(layout,
- style,
- kATSUFromTextBeginning,
- kATSUToTextEnd);
- if (status!=noErr)
- {
- PyErr_SetString(PyExc_RuntimeError, "ATSUSetRunStyle failed");
- return NULL;
- }
-
- ATSUAttributeTag tag = kATSUCGContextTag;
- ByteCount bc = sizeof (CGContextRef);
- ATSUAttributeValuePtr value = &cr;
- status = ATSUSetLayoutControls(layout, 1, &tag, &bc, &value);
- if (status!=noErr)
- {
- PyErr_SetString(PyExc_RuntimeError, "ATSUSetLayoutControls failed");
- return NULL;
- }
-
- ATSUTextMeasurement before;
- ATSUTextMeasurement after;
- ATSUTextMeasurement ascent;
- ATSUTextMeasurement descent;
- status = ATSUGetUnjustifiedBounds(layout,
- kATSUFromTextBeginning, kATSUToTextEnd,
- &before, &after, &ascent, &descent);
- if (status!=noErr)
- {
- PyErr_SetString(PyExc_RuntimeError, "ATSUGetUnjustifiedBounds failed");
- return NULL;
- }
-
- const float width = FixedToFloat(after-before);
- const float height = FixedToFloat(ascent-descent);
-
- return Py_BuildValue("fff", width, height, FixedToFloat(descent));
-}
-
-static PyObject*
GraphicsContext_draw_image(GraphicsContext* self, PyObject* args)
{
float x, y;
@@ -2621,7 +2821,11 @@
"_macosx.GraphicsContext", /*tp_name*/
sizeof(GraphicsContext), /*tp_basicsize*/
0, /*tp_itemsize*/
+#ifdef MAC_OS_X_VERSION_10_5
+ 0, /*tp_dealloc*/
+#else
(destructor)GraphicsContext_dealloc, /*tp_dealloc*/
+#endif
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
@@ -2826,15 +3030,18 @@
int n;
const unichar* characters;
NSSize size;
+ double width, height;
if(!view)
{
PyErr_SetString(PyExc_RuntimeError, "NSView* is NULL");
return NULL;
}
- if(!PyArg_ParseTuple(args, "u#ff",
- &characters, &n,
- &size.width, &size.height)) return NULL;
+ /* NSSize contains CGFloat; cannot use size directly */
+ if(!PyArg_ParseTuple(args, "u#dd",
+ &characters, &n, &width, &height)) return NULL;
+ size.width = width;
+ size.height = height;
/* This function may be called from inside the event loop, when an
* autorelease pool is available, or from Python, when no autorelease
@@ -4492,6 +4699,86 @@
PyGILState_Release(gstate);
}
+- (void)rightMouseDown:(NSEvent *)event
+{
+ int x, y;
+ int num = 3;
+ PyObject* result;
+ PyGILState_STATE gstate;
+ NSPoint location = [event locationInWindow];
+ location = [self convertPoint: location fromView: nil];
+ x = location.x;
+ y = location.y;
+ gstate = PyGILState_Ensure();
+ result = PyObject_CallMethod(canvas, "button_press_event", "iii", x, y, num);
+ if(result)
+ Py_DECREF(result);
+ else
+ PyErr_Print();
+
+ PyGILState_Release(gstate);
+}
+
+- (void)rightMouseUp:(NSEvent *)event
+{
+ int x, y;
+ int num = 3;
+ PyObject* result;
+ PyGILState_STATE gstate;
+ NSPoint location = [event locationInWindow];
+ location = [self convertPoint: location fromView: nil];
+ x = location.x;
+ y = location.y;
+ gstate = PyGILState_Ensure();
+ result = PyObject_CallMethod(canvas, "button_release_event", "iii", x, y, num);
+ if(result)
+ Py_DECREF(result);
+ else
+ PyErr_Print();
+
+ PyGILState_Release(gstate);
+}
+
+- (void)otherMouseDown:(NSEvent *)event
+{
+ int x, y;
+ int num = 2;
+ PyObject* result;
+ PyGILState_STATE gstate;
+ NSPoint location = [event locationInWindow];
+ location = [self convertPoint: location fromView: nil];
+ x = location.x;
+ y = location.y;
+ gstate = PyGILState_Ensure();
+ result = PyObject_CallMethod(canvas, "button_press_event", "iii", x, y, num);
+ if(result)
+ Py_DECREF(result);
+ else
+ PyErr_Print();
+
+ PyGILState_Release(gstate);
+}
+
+- (void)otherMouseUp:(NSEvent *)event
+{
+ int x, y;
+ int num = 2;
+ PyObject* result;
+ PyGILState_STATE gstate;
+ NSPoint location = [event locationInWindow];
+ location = [self convertPoint: location fromView: nil];
+ x = location.x;
+ y = location.y;
+ gstate = PyGILState_Ensure();
+ result = PyObject_CallMethod(canvas, "button_release_event", "iii", x, y, num);
+ if(result)
+ Py_DECREF(result);
+ else
+ PyErr_Print();
+
+ PyGILState_Release(gstate);
+}
+
- (void)setRubberband:(NSRect)rect
{
if (!NSIsEmptyRect(rubberband)) [self setNeedsDisplayInRect: rubberband];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:49:41
|
Revision: 7322
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7322&view=rev
Author: mdboom
Date: 2009-07-31 13:49:33 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Removed merge tracking for "svnmerge" for
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_91_maint
Property Changed:
----------------
trunk/matplotlib/
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
- /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /branches/v0_99_maint:1-7318
+ /branches/mathtex:1-7263 /branches/v0_98_5_maint:1-7253 /branches/v0_99_maint:1-7318
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:46:44
|
Revision: 7320
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7320&view=rev
Author: mdboom
Date: 2009-07-31 13:46:28 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Initialized merge tracking via "svnmerge" with revisions "1-7315" from
https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib
Property Changed:
----------------
branches/v0_99_maint/
Property changes on: branches/v0_99_maint
___________________________________________________________________
Modified: svnmerge-integrated
- /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253
+ /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:46:40
|
Revision: 7321
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7321&view=rev
Author: mdboom
Date: 2009-07-31 13:46:28 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Update coding guide for 0.99 version
Modified Paths:
--------------
trunk/matplotlib/doc/devel/coding_guide.rst
Modified: trunk/matplotlib/doc/devel/coding_guide.rst
===================================================================
--- trunk/matplotlib/doc/devel/coding_guide.rst 2009-07-31 13:46:28 UTC (rev 7320)
+++ trunk/matplotlib/doc/devel/coding_guide.rst 2009-07-31 13:46:28 UTC (rev 7321)
@@ -27,12 +27,12 @@
Branch checkouts, eg the maintenance branch::
svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
- v0_91_maint mpl91 --username=youruser --password=yourpass
+ v0_99_maint mpl99 --username=youruser --password=yourpass
-The current release of the trunk is in the 0.98.5 maintenance branch::
+The current release of the trunk is in the 0.99.x maintenance branch::
svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
- v0_98_5_maint mpl98.5 --username=youruser --password=yourpass
+ v0_99_maint mpl99 --username=youruser --password=yourpass
Committing changes
@@ -96,7 +96,7 @@
svnmerge.py merge -S BRANCHNAME
Where BRANCHNAME is the name of the branch to merge *from*,
- e.g. v0_98_5_maint.
+ e.g. v0_99_maint.
If you wish to merge only specific revisions (in an unusual
situation), do::
@@ -130,17 +130,17 @@
with this.
* Creating a new branch from the trunk (if the release version is
- 0.98.5 at revision 6573)::
+ 0.99 at revision 6573)::
> svn copy \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib@6573 \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_98_5_maint \
- -m "Creating maintenance branch for 0.98.5"
+ https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib@7315 \
+ https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_99_maint \
+ -m "Creating maintenance branch for 0.99"
* You can add a new branch for the trunk to "track" using
"svnmerge.py init", e.g., from a working copy of the trunk::
- > svnmerge.py init https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_98_5_maint
+ > svnmerge.py init https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_99_maint
property 'svnmerge-integrated' set on '.'
After doing a "svn commit" on this, this merge tracking is available
@@ -150,7 +150,7 @@
* Tracking can later be removed with the "svnmerge.py uninit" command,
e.g.::
- > svnmerge.py -S v0_9_5_maint uninit
+ > svnmerge.py -S v0_99_maint uninit
.. _using-git:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 13:42:33
|
Revision: 7314
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7314&view=rev
Author: jdh2358
Date: 2009-07-31 13:28:27 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
fixed pyplot typo in gridlines
Modified Paths:
--------------
trunk/matplotlib/examples/tests/backend_driver.py
trunk/matplotlib/lib/matplotlib/pyplot.py
Modified: trunk/matplotlib/examples/tests/backend_driver.py
===================================================================
--- trunk/matplotlib/examples/tests/backend_driver.py 2009-07-31 13:15:16 UTC (rev 7313)
+++ trunk/matplotlib/examples/tests/backend_driver.py 2009-07-31 13:28:27 UTC (rev 7314)
@@ -392,7 +392,8 @@
doc = __doc__.split('\n\n')
op = OptionParser(description=doc[0].strip(),
usage='%prog [options] [--] [backends and switches]',
- epilog='\n'.join(doc[1:]))
+ #epilog='\n'.join(doc[1:]) # epilog not supported on my python2.4 machine: JDH
+ )
op.disable_interspersed_args()
op.set_defaults(dirs='pylab,api,units,mplot3d',
clean=False, coverage=False, valgrind=False)
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py 2009-07-31 13:15:16 UTC (rev 7313)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py 2009-07-31 13:28:27 UTC (rev 7314)
@@ -1102,7 +1102,7 @@
if not isinstance(ax, PolarAxes):
raise RuntimeError('rgrids only defined for polar axes')
if len(args)==0:
- lines = ax.yaxis.gridlines()
+ lines = ax.yaxis.get_gridlines()
labels = ax.yaxis.get_ticklabels()
else:
lines, labels = ax.set_rgrids(*args, **kwargs)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:42:05
|
Revision: 7319
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7319&view=rev
Author: mdboom
Date: 2009-07-31 13:41:58 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Initialized merge tracking via "svnmerge" with revisions "1-7318" from
https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v0_99_maint
Property Changed:
----------------
trunk/matplotlib/
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
- /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253
+ /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /branches/v0_99_maint:1-7318
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:40:02
|
Revision: 7318
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7318&view=rev
Author: mdboom
Date: 2009-07-31 13:39:49 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Creating 0.99.x maintenance branch
Added Paths:
-----------
branches/v0_99_maint/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 13:39:09
|
Revision: 7317
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7317&view=rev
Author: jdh2358
Date: 2009-07-31 13:38:56 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
remove community choice vote from website
Modified Paths:
--------------
trunk/matplotlib/doc/_templates/indexsidebar.html
trunk/matplotlib/doc/mpl_toolkits/mplot3d/api.rst
trunk/matplotlib/doc/users/toolkits.rst
trunk/matplotlib/examples/tests/backend_driver.py
Modified: trunk/matplotlib/doc/_templates/indexsidebar.html
===================================================================
--- trunk/matplotlib/doc/_templates/indexsidebar.html 2009-07-31 13:36:38 UTC (rev 7316)
+++ trunk/matplotlib/doc/_templates/indexsidebar.html 2009-07-31 13:38:56 UTC (rev 7317)
@@ -1,19 +1,13 @@
<h3>News</h3>
+
<p>Please <a href="http://sourceforge.net/project/project_donations.php?group_id=80706">donate</a>
to support matplotlib development.</p>
+
<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">video lecture</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>Machine Learning Open Source Software</i></a>.
</p>
-<p>Nominate matplotlib for a community choice award by clicking the
-image below -- suggested category "Best Project for Academia" for
-software which "helps you hit the books, analyze global trends, or
-just understand the world a little bit better than you did before":
-<a href="http://sourceforge.net/community/cca09/nominate/?project_name=matplotlib&project_url=http://sourceforge.net/projects/matplotlib/"><img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0"/></a>
-</p>
-
-
<h3>Download</h3>
<p>Current version: <b>{{ version }}</b></p>
Modified: trunk/matplotlib/doc/mpl_toolkits/mplot3d/api.rst
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/mplot3d/api.rst 2009-07-31 13:36:38 UTC (rev 7316)
+++ trunk/matplotlib/doc/mpl_toolkits/mplot3d/api.rst 2009-07-31 13:38:56 UTC (rev 7317)
@@ -7,7 +7,6 @@
.. automodule:: mpl_toolkits.mplot3d.axes3d
:members:
- :exclude-members: contour3D, contourf3D, plot3D, scatter3D
:show-inheritance:
:mod:`mpl_toolkits.mplot3d.art3d`
Modified: trunk/matplotlib/doc/users/toolkits.rst
===================================================================
--- trunk/matplotlib/doc/users/toolkits.rst 2009-07-31 13:36:38 UTC (rev 7316)
+++ trunk/matplotlib/doc/users/toolkits.rst 2009-07-31 13:38:56 UTC (rev 7317)
@@ -66,5 +66,5 @@
distributed with matplotlib source.
.. image:: ../_static/demo_axes_grid.png
-
+
See :ref:`toolkit_axesgrid-index` for documentations.
Modified: trunk/matplotlib/examples/tests/backend_driver.py
===================================================================
--- trunk/matplotlib/examples/tests/backend_driver.py 2009-07-31 13:36:38 UTC (rev 7316)
+++ trunk/matplotlib/examples/tests/backend_driver.py 2009-07-31 13:38:56 UTC (rev 7317)
@@ -336,7 +336,6 @@
for fullpath in testcases:
print ('\tdriving %-40s' % (fullpath)),
sys.stdout.flush()
-
fpath, fname = os.path.split(fullpath)
if fname in exclude:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:36:48
|
Revision: 7316
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7316&view=rev
Author: mdboom
Date: 2009-07-31 13:36:38 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Tagging 0.99.0.rc1
Added Paths:
-----------
tags/v0_99_0_rc1/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2009-07-31 13:33:15
|
Revision: 7315
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7315&view=rev
Author: mdboom
Date: 2009-07-31 13:33:06 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Tagging 0.99.0.rc1 release
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/examples/pylab_examples/log_demo.py
trunk/matplotlib/lib/matplotlib/__init__.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2009-07-31 13:28:27 UTC (rev 7314)
+++ trunk/matplotlib/CHANGELOG 2009-07-31 13:33:06 UTC (rev 7315)
@@ -1,3 +1,7 @@
+======================================================================
+
+2009-07-31 Tagging 0.99.0.rc1 at 7314 - MGD
+
2009-07-30 Add set_cmap and register_cmap, and improve get_cmap,
to provide convenient handling of user-generated
colormaps. Reorganized _cm and cm modules. - EF
Modified: trunk/matplotlib/examples/pylab_examples/log_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/log_demo.py 2009-07-31 13:28:27 UTC (rev 7314)
+++ trunk/matplotlib/examples/pylab_examples/log_demo.py 2009-07-31 13:33:06 UTC (rev 7315)
@@ -19,7 +19,7 @@
# log x and y axis
plt.subplot(223)
-plt.loglog(t, 20*np.exp(-t/10.0), basex=4)
+plt.loglog(t, 20*np.exp(-t/10.0), basex=2)
plt.grid(True)
plt.title('loglog base 4 on x')
Modified: trunk/matplotlib/lib/matplotlib/__init__.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/__init__.py 2009-07-31 13:28:27 UTC (rev 7314)
+++ trunk/matplotlib/lib/matplotlib/__init__.py 2009-07-31 13:33:06 UTC (rev 7315)
@@ -89,7 +89,7 @@
"""
from __future__ import generators
-__version__ = '0.98.6svn'
+__version__ = '0.99.0.rc1'
__revision__ = '$Revision$'
__date__ = '$Date$'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2009-07-31 13:15:29
|
Revision: 7313
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7313&view=rev
Author: jdh2358
Date: 2009-07-31 13:15:16 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
make rgrids return grid, not tick, lines
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/matplotlib/projections/polar.py
trunk/matplotlib/lib/matplotlib/pyplot.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2009-07-31 05:22:37 UTC (rev 7312)
+++ trunk/matplotlib/CHANGELOG 2009-07-31 13:15:16 UTC (rev 7313)
@@ -4421,4 +4421,3 @@
2003-11-21 - make a dash-dot dict for the GC
2003-12-15 - fix install path bug
-t
Modified: trunk/matplotlib/lib/matplotlib/projections/polar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/projections/polar.py 2009-07-31 05:22:37 UTC (rev 7312)
+++ trunk/matplotlib/lib/matplotlib/projections/polar.py 2009-07-31 13:15:16 UTC (rev 7313)
@@ -397,7 +397,7 @@
self._r_label2_position.clear().translate(angle, -self._rpad * rmax)
for t in self.yaxis.get_ticklabels():
t.update(kwargs)
- return self.yaxis.get_ticklines(), self.yaxis.get_ticklabels()
+ return self.yaxis.get_gridlines(), self.yaxis.get_ticklabels()
set_rgrids.__doc__ = cbook.dedent(set_rgrids.__doc__) % kwdocd
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py 2009-07-31 05:22:37 UTC (rev 7312)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py 2009-07-31 13:15:16 UTC (rev 7313)
@@ -1102,7 +1102,7 @@
if not isinstance(ax, PolarAxes):
raise RuntimeError('rgrids only defined for polar axes')
if len(args)==0:
- lines = ax.yaxis.get_ticklines()
+ lines = ax.yaxis.gridlines()
labels = ax.yaxis.get_ticklabels()
else:
lines, labels = ax.set_rgrids(*args, **kwargs)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|