SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
(3)
Jun
Jul
Aug
(12)
Sep
(12)
Oct
(56)
Nov
(65)
Dec
(37)
2004 Jan
(59)
Feb
(78)
Mar
(153)
Apr
(205)
May
(184)
Jun
(123)
Jul
(171)
Aug
(156)
Sep
(190)
Oct
(120)
Nov
(154)
Dec
(223)
2005 Jan
(184)
Feb
(267)
Mar
(214)
Apr
(286)
May
(320)
Jun
(299)
Jul
(348)
Aug
(283)
Sep
(355)
Oct
(293)
Nov
(232)
Dec
(203)
2006 Jan
(352)
Feb
(358)
Mar
(403)
Apr
(313)
May
(165)
Jun
(281)
Jul
(316)
Aug
(228)
Sep
(279)
Oct
(243)
Nov
(315)
Dec
(345)
2007 Jan
(260)
Feb
(323)
Mar
(340)
Apr
(319)
May
(290)
Jun
(296)
Jul
(221)
Aug
(292)
Sep
(242)
Oct
(248)
Nov
(242)
Dec
(332)
2008 Jan
(312)
Feb
(359)
Mar
(454)
Apr
(287)
May
(340)
Jun
(450)
Jul
(403)
Aug
(324)
Sep
(349)
Oct
(385)
Nov
(363)
Dec
(437)
2009 Jan
(500)
Feb
(301)
Mar
(409)
Apr
(486)
May
(545)
Jun
(391)
Jul
(518)
Aug
(497)
Sep
(492)
Oct
(429)
Nov
(357)
Dec
(310)
2010 Jan
(371)
Feb
(657)
Mar
(519)
Apr
(432)
May
(312)
Jun
(416)
Jul
(477)
Aug
(386)
Sep
(419)
Oct
(435)
Nov
(320)
Dec
(202)
2011 Jan
(321)
Feb
(413)
Mar
(299)
Apr
(215)
May
(284)
Jun
(203)
Jul
(207)
Aug
(314)
Sep
(321)
Oct
(259)
Nov
(347)
Dec
(209)
2012 Jan
(322)
Feb
(414)
Mar
(377)
Apr
(179)
May
(173)
Jun
(234)
Jul
(295)
Aug
(239)
Sep
(276)
Oct
(355)
Nov
(144)
Dec
(108)
2013 Jan
(170)
Feb
(89)
Mar
(204)
Apr
(133)
May
(142)
Jun
(89)
Jul
(160)
Aug
(180)
Sep
(69)
Oct
(136)
Nov
(83)
Dec
(32)
2014 Jan
(71)
Feb
(90)
Mar
(161)
Apr
(117)
May
(78)
Jun
(94)
Jul
(60)
Aug
(83)
Sep
(102)
Oct
(132)
Nov
(154)
Dec
(96)
2015 Jan
(45)
Feb
(138)
Mar
(176)
Apr
(132)
May
(119)
Jun
(124)
Jul
(77)
Aug
(31)
Sep
(34)
Oct
(22)
Nov
(23)
Dec
(9)
2016 Jan
(26)
Feb
(17)
Mar
(10)
Apr
(8)
May
(4)
Jun
(8)
Jul
(6)
Aug
(5)
Sep
(9)
Oct
(4)
Nov
Dec
2017 Jan
(5)
Feb
(7)
Mar
(1)
Apr
(5)
May
Jun
(3)
Jul
(6)
Aug
(1)
Sep
Oct
(2)
Nov
(1)
Dec
2018 Jan
Feb
Mar
Apr
(1)
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2020 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025 Jan
(1)
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S





1
(11)
2
(1)
3
(5)
4
(25)
5
(14)
6
(36)
7
(13)
8
(15)
9
10
(5)
11
(5)
12
(11)
13
(15)
14
(9)
15
(16)
16
(3)
17
(13)
18
(7)
19
(9)
20
(12)
21
(2)
22
(6)
23
24
(2)
25
(1)
26
(16)
27
(7)
28
(11)
29
(8)
30
(1)

Showing 11 results of 11

From: <nbi...@sy...> - 2006年09月01日 22:29:01
Hi,
I have a script witch saves to graphs to SVG. The script works on 2 of my computer (ArchLinux and Gentoo) but the SVG saves doesn't on Fedora Core 3. The 3 uses matplotlib v0.87.4. The error I get is :
> Traceback (most recent call last):
> File "src/affichage/affichage_E.py", line 1091, in ?
> main()
> File "src/affichage/affichage_E.py", line 262, in main
> updatefig()
> File "src/affichage/affichage_E.py", line 427, in updatefig
> p.savefig(filename, dpi=100)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/pylab.py", line 811, in savefig
> return fig.savefig(*args, **kwargs)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/figure.py", line 661, in savefig
> self.canvas.print_figure(*args, **kwargs)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/backends/backend_gtkagg.py", line 113, in print_figure
> orientation, **kwargs)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/backends/backend_agg.py", line 481, in print_figure
> orientation, **kwargs)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/backends/backend_svg.py", line 289, in print_figure
> self.figure.draw(renderer)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/figure.py", line 532, in draw
> for a in self.axes: a.draw(renderer)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/axes.py", line 1045, in draw
> a.draw(renderer)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/image.py", line 189, in draw
> renderer.draw_image(l, b, im, self.axes.bbox)
> File "/home/bigaouette/fichiers/programmes/bin/python/matplotlib/backends/backend_svg.py", line 154, in draw_image
> image64 = base64.b64encode (imfile.read())
> AttributeError: 'module' object has no attribute 'b64encode'
Is there something I'm missing ?
Thank you.
From: Kenny O. <ya...@em...> - 2006年09月01日 21:19:27
hey guys i got the subversion from the site and I am trying to install it
on windows.
I changed dir into the matplotlib dir that includes the setup.py file.
run python setup.py install, and im getting a wierd error. i left the
topmost lines along with the error. has anyone seen anything like this
before?
building 'matplotlib.enthought.traits.ctraits' extension
creating build\temp.win32-2.4\Release\lib
creating build\temp.win32-2.4\Release\lib\matplotlib
creating build\temp.win32-2.4\Release\lib\matplotlib\enthought
creating build\temp.win32-2.4\Release\lib\matplotlib\enthought\traits
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c
/nologo /Ox
 /MD /W3 /GX /DNDEBUG -Ic:\Python24\include -Ic:\Python24\PC
/Tclib/matplotlib/e
nthought/traits/ctraits.c
/Fobuild\temp.win32-2.4\Release\lib/matplotlib/enthoug
ht/traits/ctraits.obj
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\link.exe /DLL
/nologo
 /INCREMENTAL:NO /LIBPATH:c:\Python24\libs /LIBPATH:c:\Python24\PCBuild
/EXPORT:
initctraits
build\temp.win32-2.4\Release\lib/matplotlib/enthought/traits/ctraits
.obj /OUT:build\lib.win32-2.4\matplotlib\enthought\traits\ctraits.pyd
/IMPLIB:bu
ild\temp.win32-2.4\Release\lib/matplotlib/enthought/traits\ctraits.lib
building 'matplotlib.backends._tkagg' extension
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c
/nologo /Ox
 /MD /W3 /GX /DNDEBUG -Iwin32_static/include/tcl84 -I. -Isrc -Iswig
-Iagg23/incl
ude -I. -I. -Iwin32_static/include/tcl84\freetype2 -I.\freetype2
-Isrc\freetype2
 -Iswig\freetype2 -Iagg23/include\freetype2 -I.\freetype2 -I.\freetype2
-Ic:\Pyt
hon24\include -Ic:\Python24\PC /Tpsrc/_tkagg.cpp
/Fobuild\temp.win32-2.4\Release
\src/_tkagg.obj
_tkagg.cpp
src\_tkagg.cpp(28) : fatal error C1083: Cannot open include file: 'tk.h':
No suc
h file or directory
error: Command ""C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\bin\cl.e
xe" /c /nologo /Ox /MD /W3 /GX /DNDEBUG -Iwin32_static/include/tcl84 -I.
-Isrc -
Iswig -Iagg23/include -I. -I. -Iwin32_static/include/tcl84\freetype2
-I.\freetyp
e2 -Isrc\freetype2 -Iswig\freetype2 -Iagg23/include\freetype2
-I.\freetype2 -I.\
freetype2 -Ic:\Python24\include -Ic:\Python24\PC /Tpsrc/_tkagg.cpp
/Fobuild\temp
.win32-2.4\Release\src/_tkagg.obj" failed with exit status 2
From: Gerald J. M. M. <Ger...@jp...> - 2006年09月01日 15:56:07
You're right, Jeff. When I use numpy in the test script,
I don't see the leak. Alternatively, moving the basemap
object creation outside of the loop (even with Numeric 24.2)
makes it faster and doesn't produce the leak.
Thanks for showing me the way.
Gerald
Jeff Whitaker wrote:
> Gerald John M. Manipon wrote:
>> Hi all,
>>
>> I'm trying to generate a plot that contains 3 subplots:
>> 2 line plots and a basemap plot showing location. I'm
>> generating about 200 such plots however my script
>> doesn't get to complete because it encounters a MemoryError.
>>
>> I found the test script at 
>> http://matplotlib.sourceforge.net/faq.html#LEAKS (which
>> BTW generates a plot with 4 subplots) and it succeeded
>> beautifully with no memory issues. However I changed the
>> last subplot to be a basemap plot and I was able to see
>> the memory leak. Below is the modified leak test script
>> I used and the abbreviated output from it. I would truly
>> appreciate any help on this.
>>
>> Thanks,
>>
>> Gerald
>>
>> ################################################
>> #memory leak test
>> ################################################
>> import os, sys, time
>> import matplotlib
>> matplotlib.use('Agg')
>> from pylab import *
>> from matplotlib.toolkits.basemap import Basemap
>>
>> def report_memory(i):
>> pid = os.getpid()
>> a2 = os.popen('ps -p %d -o rss,sz' % pid).readlines()
>> print i, ' ', a2[1],
>> return int(a2[1].split()[1])
>>
>>
>>
>> # take a memory snapshot on indStart and compare it with indEnd
>> indStart, indEnd = 30, 150
>> for i in range(indEnd):
>> ind = arange(100)
>> xx = rand(len(ind))
>>
>> figure(1)
>> subplot(221)
>> plot(ind, xx)
>>
>> subplot(222)
>> X = rand(50,50)
>>
>> imshow(X)
>> subplot(223)
>> scatter(rand(50), rand(50))
>> subplot(224)
>> #pcolor(10*rand(50,50))
>> m = Basemap(0, -85, 360, 85)
>> m.plot((50,), (20,), 'ro', markersize=12, label='gps')
>> m.drawcoastlines()
>>
>> savefig('tmp%d' % i, dpi = 75)
>> close(1)
>>
>>
>> val = report_memory(i)
>> # wait a few cycles for memory usage to stabilize
>> if i==indStart: start = val
>>
>> end = val
>> print 'Average memory consumed per loop: %1.4fk bytes ' % \
>> ((end-start)/float(indEnd-indStart))
>>
>>
>> ################################################
>> #abbreviated results
>> ################################################
>> 0 42724 12739
>> 1 65068 18359
>> 2 83036 22924
>> 3 100980 27463
>> 4 118928 32027
>> 5 136872 36577
>> 6 154828 41129
>> 7 172784 45681
>> 8 190736 50156
>> 9 208692 54711
>> 10 226644 59272
>> 11 244592 63824
>> 12 262548 68375
>> 13 280496 72926
>> 14 298440 77478
>> 15 316392 81964
>> .
>> .
>> .
>> 143 1771824 663458
>> 144 1788924 668010
>> 145 1791316 672561
>> 146 1771104 677112
>> 147 1775644 681599
>> 148 1787288 686166
>> 149 1791604 690718
>> Average memory consumed per loop: 4505.0833k bytes
>> 
> 
> Gerald: One way to workaround the memory leak with Numeric is to move 
> the Basemap instance creation
> 
> m = Basemap(0, -85, 360, 85)
> 
> outside the loop. There's no need to recreate it each time.
> 
> As a bonus, the script runs many times faster too.
> 
> -Jeff
> 
From: John H. <jdh...@ac...> - 2006年09月01日 14:41:23
>>>>> "Esdras" == Esdras Caleb <ach...@gm...> writes:
 Esdras> I have esperimental data here and i want plot them to do a
 Esdras> grafic and cut the poits who are too out but whem i use
 Esdras> plot(Array1,Array2,+) i obtaim a perfect line and i do it
 Esdras> in gnu plot and see the ploted points arent a perfect
 Esdras> line, someone can tell me how I can simple draw the points
 Esdras> in the grafic using mathplot?
Try using a mask, eg examples/masked_demo.py. Using nan should work
as well
from pylab import figure, show, nx
x = nx.arange(0.0, 10.0)
y = x**2
x[3] = nx.nan
fig = figure()
ax = fig.add_subplot(111)
ax.plot(x, y)
show()
JDH
From: David H. <dav...@gm...> - 2006年09月01日 14:21:55
Hi,
It's pretty hard to figure out exactly what your problem is without more
info.
Did you check that the scaling was identical in gnuplot and matplotlib ?
matplotlib will set the axes so that all data are included in the figure, so
if you have large outliers, the scaling will be too large and its probable
that your data will look like a perfect line.
Try modifying the scaling of the graph, using ylim(y1, y2) or xlim(x1, x2).
David
2006年9月1日, Esdras Caleb <ach...@gm...>:
>
> I have esperimental data here and i want plot them to do a grafic and cut
> the poits who are too out but whem i use plot(Array1,Array2,+) i obtaim a
> perfect line and i do it in gnu plot and see the ploted points arent a
> perfect line, someone can tell me how I can simple draw the points in the
> grafic using mathplot?
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
>
From: Esdras C. <ach...@gm...> - 2006年09月01日 13:05:53
I have esperimental data here and i want plot them to do a grafic and cut
the poits who are too out but whem i use plot(Array1,Array2,+) i obtaim a
perfect line and i do it in gnu plot and see the ploted points arent a
perfect line, someone can tell me how I can simple draw the points in the
grafic using mathplot?
From: Samuel G. <sg...@ol...> - 2006年09月01日 08:12:23
Hello,
I am writing a little GUI with PyQT4 and matplotlib.
So it is embeded.
I want that feature for the user : he can decided after ploting some
data to synchronize 2 graph with the x axis for the zoom.
So this method would be very useful for me. Maybe I can write it.
Do you have a idea of all the variables involved in the sharex feature ?
Thank you
Samuel
Eric Firing wrote:
> Samuel,
>
> Trying to manipulate variables with leading underscores is 
> discouraged--that is the meaning of the leading underscores.
>
> Changing the shared status of axes involves changes in additional 
> variables. This could be encapsulated in a single method. It might be 
> very easy, or complexities and gotchas might turn up. How important is 
> it? What is the problem with setting the shared status when you make 
> the axes, as in your first example?
>
> Eric
>
> Samuel GARCIA wrote:
> 
>> Hi all,
>> is there a possibility to change the sharex and sharey after creating a 
>> axes ?
>>
>> For example this perfectitly work :
>>
>> import pylab
>> fig = pylab.figure()
>> ax1 = fig.add_subplot(121)
>> ax2 = fig.add_subplot(122, sharex=ax1)
>> ax1.plot(rand(5))
>> ax2.plot(rand(5))
>> pylab.show()
>>
>> But when I try naively to change _sharex and _masterx after creating 
>> the axes it doesn't work :
>>
>>
>> import pylab
>> fig = pylab.figure()
>> ax1 = fig.add_subplot(121)
>> ax2 = fig.add_subplot(122)
>> ax1.plot(rand(5))
>> ax2.plot(rand(5))
>> ax2._sharex = ax1
>> ax1._masterx = True
>> pylab.show()
>>
>> What 's the solution ?
>> thank you
>>
>> Samuel
>>
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> Using Tomcat but need to do more? Need to support web services, security?
>> Get stuff done quickly with pre-integrated technology to make your job easier
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>> 
>
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
From: Jeff W. <js...@fa...> - 2006年09月01日 03:41:15
Gerald John M. Manipon wrote:
> Hi all,
>
> I'm trying to generate a plot that contains 3 subplots:
> 2 line plots and a basemap plot showing location. I'm
> generating about 200 such plots however my script
> doesn't get to complete because it encounters a MemoryError.
>
> I found the test script at 
> http://matplotlib.sourceforge.net/faq.html#LEAKS (which
> BTW generates a plot with 4 subplots) and it succeeded
> beautifully with no memory issues. However I changed the
> last subplot to be a basemap plot and I was able to see
> the memory leak. Below is the modified leak test script
> I used and the abbreviated output from it. I would truly
> appreciate any help on this.
>
> Thanks,
>
> Gerald
>
> ################################################
> #memory leak test
> ################################################
> import os, sys, time
> import matplotlib
> matplotlib.use('Agg')
> from pylab import *
> from matplotlib.toolkits.basemap import Basemap
>
> def report_memory(i):
> pid = os.getpid()
> a2 = os.popen('ps -p %d -o rss,sz' % pid).readlines()
> print i, ' ', a2[1],
> return int(a2[1].split()[1])
>
>
>
> # take a memory snapshot on indStart and compare it with indEnd
> indStart, indEnd = 30, 150
> for i in range(indEnd):
> ind = arange(100)
> xx = rand(len(ind))
>
> figure(1)
> subplot(221)
> plot(ind, xx)
>
> subplot(222)
> X = rand(50,50)
>
> imshow(X)
> subplot(223)
> scatter(rand(50), rand(50))
> subplot(224)
> #pcolor(10*rand(50,50))
> m = Basemap(0, -85, 360, 85)
> m.plot((50,), (20,), 'ro', markersize=12, label='gps')
> m.drawcoastlines()
>
> savefig('tmp%d' % i, dpi = 75)
> close(1)
>
>
> val = report_memory(i)
> # wait a few cycles for memory usage to stabilize
> if i==indStart: start = val
>
> end = val
> print 'Average memory consumed per loop: %1.4fk bytes ' % \
> ((end-start)/float(indEnd-indStart))
>
>
> ################################################
> #abbreviated results
> ################################################
> 0 42724 12739
> 1 65068 18359
> 2 83036 22924
> 3 100980 27463
> 4 118928 32027
> 5 136872 36577
> 6 154828 41129
> 7 172784 45681
> 8 190736 50156
> 9 208692 54711
> 10 226644 59272
> 11 244592 63824
> 12 262548 68375
> 13 280496 72926
> 14 298440 77478
> 15 316392 81964
> .
> .
> .
> 143 1771824 663458
> 144 1788924 668010
> 145 1791316 672561
> 146 1771104 677112
> 147 1775644 681599
> 148 1787288 686166
> 149 1791604 690718
> Average memory consumed per loop: 4505.0833k bytes
> 
Gerald: One way to workaround the memory leak with Numeric is to move 
the Basemap instance creation
m = Basemap(0, -85, 360, 85)
outside the loop. There's no need to recreate it each time.
As a bonus, the script runs many times faster too.
-Jeff
-- 
Jeffrey S. Whitaker Phone : (303)497-6313
NOAA/OAR/CDC R/PSD1 FAX : (303)497-6449
325 Broadway Boulder, CO, USA 80305-3328
From: Jeff W. <js...@fa...> - 2006年09月01日 01:52:38
Gerald John M. Manipon wrote:
> Hi all,
>
> I'm trying to generate a plot that contains 3 subplots:
> 2 line plots and a basemap plot showing location. I'm
> generating about 200 such plots however my script
> doesn't get to complete because it encounters a MemoryError.
>
> I found the test script at 
> http://matplotlib.sourceforge.net/faq.html#LEAKS (which
> BTW generates a plot with 4 subplots) and it succeeded
> beautifully with no memory issues. However I changed the
> last subplot to be a basemap plot and I was able to see
> the memory leak. Below is the modified leak test script
> I used and the abbreviated output from it. I would truly
> appreciate any help on this.
>
> Thanks,
>
> Gerald
>
> ################################################
> #memory leak test
> ################################################
> import os, sys, time
> import matplotlib
> matplotlib.use('Agg')
> from pylab import *
> from matplotlib.toolkits.basemap import Basemap
>
> def report_memory(i):
> pid = os.getpid()
> a2 = os.popen('ps -p %d -o rss,sz' % pid).readlines()
> print i, ' ', a2[1],
> return int(a2[1].split()[1])
>
>
>
> # take a memory snapshot on indStart and compare it with indEnd
> indStart, indEnd = 30, 150
> for i in range(indEnd):
> ind = arange(100)
> xx = rand(len(ind))
>
> figure(1)
> subplot(221)
> plot(ind, xx)
>
> subplot(222)
> X = rand(50,50)
>
> imshow(X)
> subplot(223)
> scatter(rand(50), rand(50))
> subplot(224)
> #pcolor(10*rand(50,50))
> m = Basemap(0, -85, 360, 85)
> m.plot((50,), (20,), 'ro', markersize=12, label='gps')
> m.drawcoastlines()
>
> savefig('tmp%d' % i, dpi = 75)
> close(1)
>
>
> val = report_memory(i)
> # wait a few cycles for memory usage to stabilize
> if i==indStart: start = val
>
> end = val
> print 'Average memory consumed per loop: %1.4fk bytes ' % \
> ((end-start)/float(indEnd-indStart))
>
>
> ################################################
> #abbreviated results
> ################################################
> 0 42724 12739
> 1 65068 18359
> 2 83036 22924
> 3 100980 27463
> 4 118928 32027
> 5 136872 36577
> 6 154828 41129
> 7 172784 45681
> 8 190736 50156
> 9 208692 54711
> 10 226644 59272
> 11 244592 63824
> 12 262548 68375
> 13 280496 72926
> 14 298440 77478
> 15 316392 81964
> .
> .
> .
> 143 1771824 663458
> 144 1788924 668010
> 145 1791316 672561
> 146 1771104 677112
> 147 1775644 681599
> 148 1787288 686166
> 149 1791604 690718
> Average memory consumed per loop: 4505.0833k bytes
> 
Gerald: No leak here
[jsw@Macintosh:/Users/jsw/python] python memleak.py
0 27856 89672
1 32672 92620
2 33200 92620
3 33200 92620
4 33168 92612
5 33196 92620
6 33196 92620
7 33164 92616
8 33200 92620
9 33184 92616
10 33196 92620
11 33184 92616
12 33176 92616
13 33204 92620
MacOS 10.4.7, matplotlib 0.87.4, basemap latest svn, numpy 1.0b2.
However, if I use Numeric 24.2
[jsw@Macintosh:/Users/jsw/python] python memleak.py --Numeric
0 44472 102496
1 67140 123932
2 85376 141308
3 103200 159728
4 120992 177104
5 138800 194496
it leaks! No idea why - but I doubt it has much to do with basemap.
-Jeff
-- 
Jeffrey S. Whitaker Phone : (303)497-6313
NOAA/OAR/CDC R/PSD1 FAX : (303)497-6449
325 Broadway Boulder, CO, USA 80305-3328
From: Eric F. <ef...@ha...> - 2006年09月01日 00:15:41
Scott,
This is fixed now in svn. (I will probably go back shortly and make 
another change to improve efficiency.) There was a one-line bug in 
contour.py, but the fundamental problem was that colors.ColorConverter 
(which handles color inputs for collections, among other things) was 
stripping off the alpha value and replacing it with 1.0.
Thanks for highlighting the bug.
Eric
Scott Ransom wrote:
> Hi Eric,
> 
> This shows what I'm talking about:
> 
> --------------------
> from pylab import *
> 
> delta = 0.025
> x = arange(-3.0, 3.0, delta)
> y = arange(-2.0, 2.0, delta)
> X, Y = meshgrid(x, y)
> Z1 = bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
> Z2 = bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
> # difference of Gaussians
> Z = 10.0 * (Z2 - Z1)
> 
> contourf(X, Y, sin(Y)*cos(X),
> alpha=0.2)
> hot()
> contour(X, Y, Z, 6,
> linewidths=4,
> colors=('r', 'green', 'blue', (1,1,0), '#afeeee', '0.5'),
> alpha=0.4)
> show()
> 
> -------------------
> 
> On Thursday 31 August 2006 13:50, Eric Firing wrote:
>> Scott,
>>
>> Please send a minimal example that I can use as a test case. This
>> sounds vaguely familiar.
>>
>> Thanks.
>>
>> Eric
>>
>> Scott Ransom wrote:
>>> Hi All,
>>>
>>> I'm using matplotlib (with agg backends) from recent svn:
>>>
>>> In [63]: matplotlib.__version__
>>> Out[63]: '0.87.4'
>>>
>>> and I can't seem to get contour() or contourf() to utilize the
>>> alpha keyword. No matter what value I set, alpha=1.0 on the
>>> output. Alpha in general works fine, as the scatter_demo2.py
>>> example gives very nicely alpha-channeled output.
>>>
>>> Any ideas? Thanks a bunch,
>>>
>>> Scott
> 
From: Gerald J. M. M. <Ger...@jp...> - 2006年09月01日 00:05:20
Hi all,
I'm trying to generate a plot that contains 3 subplots:
2 line plots and a basemap plot showing location. I'm
generating about 200 such plots however my script
doesn't get to complete because it encounters a MemoryError.
I found the test script at 
http://matplotlib.sourceforge.net/faq.html#LEAKS (which
BTW generates a plot with 4 subplots) and it succeeded
beautifully with no memory issues. However I changed the
last subplot to be a basemap plot and I was able to see
the memory leak. Below is the modified leak test script
I used and the abbreviated output from it. I would truly
appreciate any help on this.
Thanks,
Gerald
################################################
#memory leak test
################################################
import os, sys, time
import matplotlib
matplotlib.use('Agg')
from pylab import *
from matplotlib.toolkits.basemap import Basemap
def report_memory(i):
 pid = os.getpid()
 a2 = os.popen('ps -p %d -o rss,sz' % pid).readlines()
 print i, ' ', a2[1],
 return int(a2[1].split()[1])
# take a memory snapshot on indStart and compare it with indEnd
indStart, indEnd = 30, 150
for i in range(indEnd):
 ind = arange(100)
 xx = rand(len(ind))
 figure(1)
 subplot(221)
 plot(ind, xx)
 subplot(222)
 X = rand(50,50)
 imshow(X)
 subplot(223)
 scatter(rand(50), rand(50))
 subplot(224)
 #pcolor(10*rand(50,50))
 m = Basemap(0, -85, 360, 85)
 m.plot((50,), (20,), 'ro', markersize=12, label='gps')
 m.drawcoastlines()
 savefig('tmp%d' % i, dpi = 75)
 close(1)
 val = report_memory(i)
 # wait a few cycles for memory usage to stabilize
 if i==indStart: start = val
end = val
print 'Average memory consumed per loop: %1.4fk bytes ' % \
 ((end-start)/float(indEnd-indStart))
################################################
#abbreviated results
################################################
0 42724 12739
1 65068 18359
2 83036 22924
3 100980 27463
4 118928 32027
5 136872 36577
6 154828 41129
7 172784 45681
8 190736 50156
9 208692 54711
10 226644 59272
11 244592 63824
12 262548 68375
13 280496 72926
14 298440 77478
15 316392 81964
.
.
.
143 1771824 663458
144 1788924 668010
145 1791316 672561
146 1771104 677112
147 1775644 681599
148 1787288 686166
149 1791604 690718
Average memory consumed per loop: 4505.0833k bytes

Showing 11 results of 11

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /