SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S






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





Showing results of 77

1 2 3 4 > >> (Page 1 of 4)
From: Benjamin R. <ben...@ou...> - 2010年05月31日 16:29:02
Markus,
That is good to know that it has been fixed. As for the difference in
pcolor and pcolormesh, I think it has to do with the fact that pcolormesh is
composed of many lines while pcolor is composed of many polygons. It is
probably more efficient to rasterize polygons than lines.
Ben Root
On Mon, May 31, 2010 at 4:45 AM, Markus Haider <mar...@ui...>wrote:
> > But the displacement issue you see (although think it has been fixed
> > in the svn) needs to be fixed.
>
> Hi,
>
> I just tried out the svn version, and the displacement issue is indeed
> fixed in svn. There is one more question: If I use pcolor with
> rasterized, filesize is 165 kb, if I use pcolormesh it is 864 kb. What
> is the difference between pcolor and pcolormesh?
>
> Greetings,
> Markus
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
From: Markus H. <mar...@ui...> - 2010年05月31日 11:02:31
By the way, in the current svn version, there is a small white distance
between the image and the axis frame on the right hand and lower side,
if I output to svg.
Greetings,
Markus
From: Markus H. <mar...@ui...> - 2010年05月31日 09:45:23
> But the displacement issue you see (although think it has been fixed
> in the svn) needs to be fixed.
Hi,
I just tried out the svn version, and the displacement issue is indeed
fixed in svn. There is one more question: If I use pcolor with
rasterized, filesize is 165 kb, if I use pcolormesh it is 864 kb. What
is the difference between pcolor and pcolormesh?
Greetings,
Markus
From: John H. <jd...@gm...> - 2010年05月30日 22:14:48
On Sun, May 30, 2010 at 1:15 PM, John Hunter <jd...@gm...> wrote:
> On Sun, May 30, 2010 at 12:05 PM, Eric Firing <ef...@ha...> wrote:
>> Do you have in mind a dual release--maintenance branch and trunk--or is
>> v0_99_maint abandoned with no release? Another option would be to make
>> a 99 release ASAP and delay the 1.0.
>
> I do want to put out one last maintenance branch release -- I put up
> an rc some time ago and heard no problems so it is good to go. I will
> do it this weekend.
This is done -- the source, win32 binaries and osx binaries have been
uploaded the the sf site, and the site docs are updated to 99.3. I'll
hold off til Tuesday for the official announce.
https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.3
JDH
From: Matthew B. <mat...@gm...> - 2010年05月30日 19:16:27
Hi,
>> Multiple options (as far as I have understand github). You could use one
>> account with multiple ssh-keys or you can add "contributors" to the repository
>> in the repositorys Admin-panel, which I haven't tried out, yet.
>
> The github TOS allow only one person per account. I guess that's why
> Eric refers to an exception being required.
It's trivial to add people as collaborators to a github repository
(the Admin panel Eric mentioned); that's the equivalent of SVN
per-repository permissions. Adding collaborators gives the
collaborator push access to the repo with their own github user / ssh
key.
http://github.com/guides/managing-collaborators
I guess, by one-person-per-account, github means that only one person
should be logging into the account and administering it, but they did
agree with Fernando a while ago that it was OK to have project
accounts:
http://support.github.com/discussions/email/6289-contact-per-project-account-for-open-source-projects?anon_token=5139fe18a00792fd470a9fe3b7bca187b64ddb8d
See you,
Matthew
From: Eric F. <ef...@ha...> - 2010年05月30日 19:12:12
On 05/30/2010 05:54 AM, John Hunter wrote:
> now. Everyone who has some free time should tackle outstanding bugs
> on the tracker. I am aware of a compile problem on solaris with CXX6
Appeal to all developers, official or not: there are 95 open bugs listed 
on the tracker at the moment.
I suspect several of these have actually been fixed already--like the 
most recent one, for example--and only need to be closed, ideally with a 
reference to the svn commit that fixed the problem. If you have been 
committing bug fixes, please scan the tracker list, and see if there 
some tickets that you can close as a result of work you have already done.
Beyond that, there are probably quite a few tickets that are out of 
date, or reflect a misunderstanding, or can otherwise be closed fairly 
easily. Please try to identify them and close them.
And last but not least, I'm sure there are real problems identified by 
some of the tickets; and some of them have solutions attached, requiring 
only a review of the proposed solution, possibly some editing and 
testing, and a commit.
Eric
From: John H. <jd...@gm...> - 2010年05月30日 18:15:46
On Sun, May 30, 2010 at 12:05 PM, Eric Firing <ef...@ha...> wrote:
> Do you have in mind a dual release--maintenance branch and trunk--or is
> v0_99_maint abandoned with no release? Another option would be to make
> a 99 release ASAP and delay the 1.0.
I do want to put out one last maintenance branch release -- I put up
an rc some time ago and heard no problems so it is good to go. I will
do it this weekend.
JDH
From: Eric F. <ef...@ha...> - 2010年05月30日 17:05:18
On 05/30/2010 05:54 AM, John Hunter wrote:
> On Sun, May 30, 2010 at 5:18 AM, Jouni K. Seppänen<jk...@ik...> wrote:
>
>> I agree that there should be a release before the transition.
>
> I was initially reluctant to do a release before the transition
> because of the get_sample_data issue. I was worried that some 1.x
> releases would point to the sf site and some to the github site. I am
> less concerned about that now because we can simply keep the old data
> on the sf site and so releases pointing to it will continue to work
> for the vast majority of examples, and because Jouni has verified that
> the same code works on sf and github modulo a url change.
>
> I will invest some time in the upcoming week getting ready for the
> release. We can target a release candidate for testing a week from
> now. Everyone who has some free time should tackle outstanding bugs
> on the tracker. I am aware of a compile problem on solaris with CXX6
> that we now use, so I will see if I can make some progress on that.
>
John,
Do you have in mind a dual release--maintenance branch and trunk--or is 
v0_99_maint abandoned with no release? Another option would be to make 
a 99 release ASAP and delay the 1.0.
Eric
> JDH
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: John H. <jd...@gm...> - 2010年05月30日 15:54:25
On Sun, May 30, 2010 at 5:18 AM, Jouni K. Seppänen <jk...@ik...> wrote:
> I agree that there should be a release before the transition.
I was initially reluctant to do a release before the transition
because of the get_sample_data issue. I was worried that some 1.x
releases would point to the sf site and some to the github site. I am
less concerned about that now because we can simply keep the old data
on the sf site and so releases pointing to it will continue to work
for the vast majority of examples, and because Jouni has verified that
the same code works on sf and github modulo a url change.
I will invest some time in the upcoming week getting ready for the
release. We can target a release candidate for testing a week from
now. Everyone who has some free time should tackle outstanding bugs
on the tracker. I am aware of a compile problem on solaris with CXX6
that we now use, so I will see if I can make some progress on that.
JDH
From: Jouni K. S. <jk...@ik...> - 2010年05月30日 10:19:09
Malte Dik <mal...@we...> writes:
> Eric Firing wrote:
>
>> 2) If I understand correctly, a key question is who will have commit
>> rights to the master repo on github. It seems that an exception is
>> required to allow that access to more than one person. 
>
> Multiple options (as far as I have understand github). You could use one 
> account with multiple ssh-keys or you can add "contributors" to the repository 
> in the repositorys Admin-panel, which I haven't tried out, yet.
The github TOS allow only one person per account. I guess that's why
Eric refers to an exception being required.
I'm not entirely sure what Github's "public collaborator" feature means
(I can only find documentation about private collaborators, which you
can add if you have a paid account and a private project), but if it
means push access, then I suppose it would help.
>> My sense is that ideally we should have more than one person with
>> that access, but far fewer people than presently have svn commit
>> access. Those with access would then be asked to pull changes into
>> the master from other people's clones--which would be github branches
>> under their control.
Sounds good to me. One possibility is to have an automated tool push
reviewed and tested changes to the "official" repository, similarly to
how the Android Open-Source Project uses Gerrit:
http://source.android.com/source/life-of-a-patch.html
The "verifier" could be just a buildbot-run script that sets the
verified flag if the code passes tests. The "reviewers" could be the
core developers - so instead of pulling other people's changes and
pushing to the official repository, they would just flag the changes as
verified, and the rest would happen automatically.
But maybe that's too much overhead for a project the size of matplotlib.
>> 3) Is it really a good idea to delay the release until the we make
>> the github transition? Given how long it has been since a release,
>> and the possibility that there will be some turbulence until we have
>> had some experience with github, I think it would be better to
>> release first and transition immediately afterwards.
I agree that there should be a release before the transition. 
-- 
Jouni K. Seppänen
http://www.iki.fi/jks
From: Malte D. <mal...@we...> - 2010年05月30日 06:27:15
Hi,
> 
> 2) If I understand correctly, a key question is who will have commit
> rights to the master repo on github. It seems that an exception is
> required to allow that access to more than one person. My sense is that
> ideally we should have more than one person with that access, but far
> fewer people than presently have svn commit access. Those with access
> would then be asked to pull changes into the master from other people's
> clones--which would be github branches under their control.
Multiple options (as far as I have understand github). You could use one 
account with multiple ssh-keys or you can add "contributors" to the repository 
in the repositorys Admin-panel, which I haven't tried out, yet.
Regards,
Malte
From: Andrew S. <str...@as...> - 2010年05月29日 23:44:02
On 2010年5月29日 12:28:40 -1000, Eric Firing <ef...@ha...> wrote:
> 3) Is it really a good idea to delay the release until the we make the
> github transition? Given how long it has been since a release, and the
> possibility that there will be some turbulence until we have had some
> experience with github, I think it would be better to release first and
> transition immediately afterwards.
I've had unanticipated time commitments come up that have limited the time I have available for work on MPL. I had been planning spending some time to facilitate a switch to git but now can't see where the time will come from (in the next several weeks at least). Therefore I think making a release before any VCS switch is a good idea.
-Andrew
From: Eric F. <ef...@ha...> - 2010年05月29日 22:33:02
On 05/28/2010 10:00 AM, Ryan May wrote:
> Hi,
>
> Ben Root gave me a bug report that pcolormesh (and hence QuadMesh)
> were not respecting zorder. This turns out to be due to the fact that
> kwargs are not being forwarded on as appropriate. This is easy enough
> to fix and make work, but I wanted to first ask for any insight on the
> following "helpful" comment in axes.py:
>
> collection = mcoll.QuadMesh(
> Nx - 1, Ny - 1, coords, showedges,
> antialiased=antialiased, shading=shading) # kwargs are not used
>
> (It's be great if this comment gave some actual reasoning rather than
> stating the obvious).
>
> Anyone know if there's an explicit design choice for QuadMesh not
> taking kwargs, or is it just an omission?
>
> Ryan
>
Ryan,
I don't know based on any recollection of how the code got that way, but 
it certainly looks like a historical artifact, and not something that 
needs to be preserved. I think you should go ahead and change it. If 
no tests or examples break, then it looks safe enough.
Eric
From: Eric F. <ef...@ha...> - 2010年05月29日 22:28:49
On 04/23/2010 02:44 AM, John Hunter wrote:
> On Thu, Apr 22, 2010 at 4:40 PM, Sandro Tosi<mo...@de...> wrote:
>> Hello all,
>> in some time (let's say a couple of months, maybe more) Debian will
>> enter the "freeze" period, where no new upstream releases are
>> accepted, in order to prepare the best stable release we can :)
>>
>> In the past months I see many changes are accumulated in the SVN but
>> no new release are done. I don't know if you've already discussed
>> about releasing mpl, but it would be nice if we can have something
>> before the freeze, so to have a quite-update mpl in squeeze.
>>
>> > From my POV, I'll provide all the support needed, so if there
>> something I can do just tell me :)
>
> Hey Sandro,
>
> thanks for the head's up. We would like to get a 1.0 release out and
> there are two roadbumps we have to navigate first. We'd like to
> transition our VCS to git, and this impacts our release schedule
John et al.,
1) It looks like numpy is about to make the jump to github. Their 
discussion includes interesting points of strategy. Their intention is 
to develop the strategy via an NEP.
2) If I understand correctly, a key question is who will have commit 
rights to the master repo on github. It seems that an exception is 
required to allow that access to more than one person. My sense is that 
ideally we should have more than one person with that access, but far 
fewer people than presently have svn commit access. Those with access 
would then be asked to pull changes into the master from other people's 
clones--which would be github branches under their control.
3) Is it really a good idea to delay the release until the we make the 
github transition? Given how long it has been since a release, and the 
possibility that there will be some turbulence until we have had some 
experience with github, I think it would be better to release first and 
transition immediately afterwards.
Eric
> because of the "get_sample_data" support in the trunk which currently
> pulls the data from svn but would have to be refactored to pull from
> hit and we'd like to make the transition before we do a release.
> Andrew, who is handling the git transition, has been very tied up of
> late, but thinks he'll have some time in early May. The other issue
> is my dead OSX build box -- I have access to a 64bit python 2.6
> platform for builds for OSX, but currently no other platforms/versions
> so I have to sink some time into this for a release, though this is
> not a show stopper as we could do a release with incomplete binary
> support for OSX.
>
> So keep our feet to the fire and make sure we don't fall too far
> behind so we can get something out before the freeze, hopefully far
> enough before the freeze that we can get at least one bugfix release
> out...
>
> JDH
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: Jouni K. S. <jk...@ik...> - 2010年05月29日 20:56:43
John Hunter <jd...@gm...> writes:
>> Has it been decided where the master repository would be hosted? The
>> current code seems to handle at least github just fine if you just
>> replace the base URL in cbook.py:
>
> We've been planning on using github. I'm surprised the existing code
> works -- have you tested to see whether the cacheing w/ revision
> number works under github, ie it only pulls down new data when the
> revision number changes?
Yes. The code is essentially a simple HTTP client, and it works right on
account of the logic at the server. The server sets an ETag header when
it sends a file, and on further requests replies with 304 Not Modified
if the client knows the current ETag value, or with 200 OK if the value
is stale.
For example, running the date_index_formatter.py example with
verbose=debug and an empty cache directory:
ViewVCCachedServer: files listed in cache.pck: set([])
ViewVCCachedServer: files in cache directory: set([])
ViewVCCachedServer: retrieving http://github.com/jkseppan/mpl-sample-data/raw/master/aapl.csv
ViewVCCachedServer: received response 200: OK
loading /Users/jks/.matplotlib/sample_data/aapl.csv
Next run:
ViewVCCachedServer: files listed in cache.pck: set(['/Users/jks/.matplotlib/sample_data/aapl.csv'])
ViewVCCachedServer: files in cache directory: set(['/Users/jks/.matplotlib/sample_data/cache.pck', '/Users/jks/.matplotlib/sample_data/aapl.csv'])
ViewVCCachedServer: retrieving http://github.com/jkseppan/mpl-sample-data/raw/master/aapl.csv
ViewVCCachedServer: received response 304: Not Modified
ViewVCCachedServer: reading data file from cache file "/Users/jks/.matplotlib/sample_data/aapl.csv"
loading /Users/jks/.matplotlib/sample_data/aapl.csv
Then, after committing a new version in the repository:
ViewVCCachedServer: files listed in cache.pck: set(['/Users/jks/.matplotlib/sample_data/aapl.csv'])
ViewVCCachedServer: files in cache directory: set(['/Users/jks/.matplotlib/sample_data/cache.pck', '/Users/jks/.matplotlib/sample_data/aapl.csv'])
ViewVCCachedServer: retrieving http://github.com/jkseppan/mpl-sample-data/raw/master/aapl.csv
ViewVCCachedServer: received response 200: OK
loading /Users/jks/.matplotlib/sample_data/aapl.csv
-- 
Jouni K. Seppänen
http://www.iki.fi/jks
From: Jouni K. S. <jk...@ik...> - 2010年05月29日 20:02:39
A while ago, John Hunter wrote:
> We'd like to transition our VCS to git, and this impacts our release
> schedule because of the "get_sample_data" support in the trunk which
> currently pulls the data from svn but would have to be refactored to
> pull from [git] and we'd like to make the transition before we do a
> release.
Has it been decided where the master repository would be hosted? The
current code seems to handle at least github just fine if you just
replace the base URL in cbook.py:
- baseurl = 'http://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/sample_data/'
+ baseurl = 'http://github.com/jkseppan/mpl-sample-data/raw/master/'
(I just created that repository for testing purposes, and made a small
change to a file when testing, so it shouldn't become the final
repository.)
The code is really not specific to any version control system, but just
assumes that the files can be retrieved from an HTTP server that has
some basic conditional-get support.
-- 
Jouni K. Seppänen
http://www.iki.fi/jks
From: Pearu P. <pe...@ce...> - 2010年05月28日 20:21:25
Thanks, John!
Calling ax.autoscale_view after ax.relim makes the script work.
Best regards,
Pearu
From: Ryan M. <rm...@gm...> - 2010年05月28日 20:06:07
Hi,
Ben Root gave me a bug report that pcolormesh (and hence QuadMesh)
were not respecting zorder. This turns out to be due to the fact that
kwargs are not being forwarded on as appropriate. This is easy enough
to fix and make work, but I wanted to first ask for any insight on the
following "helpful" comment in axes.py:
 collection = mcoll.QuadMesh(
 Nx - 1, Ny - 1, coords, showedges,
 antialiased=antialiased, shading=shading) # kwargs are not used
(It's be great if this comment gave some actual reasoning rather than
stating the obvious).
Anyone know if there's an explicit design choice for QuadMesh not
taking kwargs, or is it just an omission?
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
From: Pearu P. <pe...@ce...> - 2010年05月28日 19:32:02
Thanks, John!
Adding ax.autoscale_view after ax.relim makes the script work correctly.
Best regards,
Pearu
From: John H. <jd...@gm...> - 2010年05月28日 18:41:16
On Fri, May 28, 2010 at 1:37 PM, Pearu Peterson <pe...@ce...> wrote:
> While the new data is plotted correctly, the plot shows fixed axes
> from the first plot call. What I am doing wrong?
ax.relim() causes the data limits to be updated based on the current
objects it contains, ax.autoscale_view() causes the view limits to be
updated based on the data limits, and fig.canvas.draw() forces a
redraw.
JDH
From: Pearu P. <pe...@ce...> - 2010年05月28日 18:37:16
On Fri, May 28, 2010 9:15 pm, John Hunter wrote:
> On Fri, May 28, 2010 at 1:04 PM, Pearu Peterson <pe...@ce...> wrote:
>
>> Regarding reusing existing line --- I have understood that this
>> will work only if the length of the line data does not change.
>
> This is not correct -- you can change the line length with calls to
> set_data
>
>> In my case the data grows as more data points are acquired and I have
>> not figured out how to make axes to set new limits after changing
>> the line data.
>
> ax.relim()
Ok, very good. However, it does not seem to have effect. Consider
the following example:
#
import numpy
from numpy.testing.utils import memusage
import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
fig = plt.figure()
axes1 = fig.add_subplot( 111 )
def animate():
 x = [0]
 while 1:
 y = numpy.random.rand (len (x))
 if 1:
 # updating line in place
 if not axes1.lines:
 line, = axes1.plot(x, y, 'b')
 else:
 line.set_data(x, y)
 # relim does not have effect in updating axes
 axes1.relim()
 else:
 # demonstrates expected behaviour, has leakage w/o Mike patch
 for line in axes1.lines:
 line.remove()
 line, = axes1.plot(x, y, 'b')
 fig.canvas.draw()
 print memusage ()/(1024.0*1024.0),"MB", len (axes1.lines), len(x)
 x.append(x[-1]+1)
import gobject
print 'adding idle'
gobject.idle_add(animate)
print 'showing'
plt.show()
#eof
While the new data is plotted correctly, the plot shows fixed axes
from the first plot call. What I am doing wrong?
Pearu
From: Eric F. <ef...@ha...> - 2010年05月28日 18:29:38
On 05/28/2010 08:04 AM, Pearu Peterson wrote:
> On Fri, May 28, 2010 5:12 pm, John Hunter wrote:
>
>> Hey Pearu -- thanks for the report. We'll try and track down and fix
>> this leak. In the interim, would an acceptable work around for you be
>> to *reuse* an existing line by calling set_data on it. That way you
>> wouldn't have to do the add/remove that is causing your leak. Have
>> you confirmed this leak on various backends (eg Agg, PDF, PS)?
>
> No, I haven't but I can try it.
>
> Regarding reusing existing line --- I have understood that this
> will work only if the length of the line data does not change.
Not so.
> In my case the data grows as more data points are acquired and I have
> not figured out how to make axes to set new limits after changing
> the line data.
lineobj = plot([0], [0])[0]
ax = gca()
x = np.arange(10)
y = 20 * np.sin(x)
lineobj.set_data(x, y)
xy = np.concatenate((x[:,np.newaxis], y[:,np.newaxis]), axis=1)
ax.update_datalim(xy)
ax.autoscale_view()
draw()
Eric
>
> Currently I am using a work around where the axes are cleared
> after every 60 seconds - this seems to keep memory usage under control.
>
> It seems that Mike has resolved the problem. I'll try the latest
> SVN..
>
> Thanks!
> Pearu
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: John H. <jd...@gm...> - 2010年05月28日 18:15:07
On Fri, May 28, 2010 at 1:04 PM, Pearu Peterson <pe...@ce...> wrote:
> Regarding reusing existing line --- I have understood that this
> will work only if the length of the line data does not change.
This is not correct -- you can change the line length with calls to set_data
> In my case the data grows as more data points are acquired and I have
> not figured out how to make axes to set new limits after changing
> the line data.
ax.relim()
Cheers,
JDH
From: Pearu P. <pe...@ce...> - 2010年05月28日 18:05:10
On Fri, May 28, 2010 5:12 pm, John Hunter wrote:
> Hey Pearu -- thanks for the report. We'll try and track down and fix
> this leak. In the interim, would an acceptable work around for you be
> to *reuse* an existing line by calling set_data on it. That way you
> wouldn't have to do the add/remove that is causing your leak. Have
> you confirmed this leak on various backends (eg Agg, PDF, PS)?
No, I haven't but I can try it.
Regarding reusing existing line --- I have understood that this
will work only if the length of the line data does not change.
In my case the data grows as more data points are acquired and I have
not figured out how to make axes to set new limits after changing
the line data.
Currently I am using a work around where the axes are cleared
after every 60 seconds - this seems to keep memory usage under control.
It seems that Mike has resolved the problem. I'll try the latest
SVN..
Thanks!
Pearu
From: Michael D. <md...@st...> - 2010年05月28日 17:48:17
There is a fix in r8341. It passes the regression tests, and all of the 
event handling examples I tried seem to still work.
It seems that many places in matplotlib were never disconnecting 
callbacks, and these callbacks keep references to the destination 
objects alive.
Unfortunately, it's not quite obvious where the "disconnect" calls 
should be added -- the lifetime of objects isn't very symmetrical. For 
example, the "units" callback is set up by Lines2D inside of its 
"set_axes" method, but there is no "remove_axes" method in which to put 
the disconnect. Tracking down all of the ways in which a line could be 
removed from an axes seems daunting.
Instead, my solution is to store weak references to the methods stored 
in the CallbackRegistry -- that way the CallbackRegistry won't leak 
references like it does now. Since the Python stdlib weakref module 
doesn't directly support weak references to bound methods, the whole 
thing is a bit hairy -- but I think it's a more permanent solution than 
trying to ensure that all callbacks get explicitly disconnected.
As this change is rather fundamental and may have unintended 
consequences, please play with it in your contexts and let me know if 
you see anything strange.
Mike
On 05/28/2010 10:47 AM, Michael Droettboom wrote:
> I'm on to something -- some callbacks are being created that are never
> disconnected.
>
> In Line2D.set_axes:
>
> self._xcid = ax.xaxis.callbacks.connect('units', self.recache_always)
>
> gets called twice. This is problematic because the id of the first
> connection is simply lost. Also, there doesn't seem to be any code to
> attempt to remove either of them.
>
> I'm looking into it further -- forcibly deleting these callbacks reduces
> the reference count on the line object, but doesn't seem to completely
> eliminate the leak.
>
> Mike
>
> On 05/28/2010 10:12 AM, John Hunter wrote:
> 
>> On Fri, May 28, 2010 at 3:18 AM, Pearu Peterson<pe...@ce...> wrote:
>>
>> 
>>> Hi,
>>>
>>> In an application that updates a plot with
>>> new experimental data, say, every second and the experiment
>>> can last hours, I have tried two approaches:
>>> 1) clear axes and plot new experimental data - this is
>>> slow and takes too much cpu resources.
>>> 2) remove lines and plot new experimental data - this is
>>> fast enough but unfortunately there seems to be a memory
>>> leakage, the application runs out of memory.
>>>
>>> Here follows a simple script that demonstrates the
>>> leakage problem:
>>>
>>> #
>>> import numpy
>>> from numpy.testing.utils import memusage
>>> import matplotlib.pyplot as plt
>>> x = range (1000)
>>> axes1 = plt.figure().add_subplot( 111 )
>>> y = numpy.random.rand (len (x))
>>> while 1:
>>> if 1:
>>> # leakage
>>> for line in axes1.lines:
>>> if line.get_label ()=='data':
>>> line.remove()
>>> else:
>>> # no leak, but slow
>>> axes1.clear()
>>> axes1.plot(x, y, 'b', label='data')
>>> print memusage (), len (axes1.lines)
>>> #eof
>>>
>>> When running the script, the memory usage
>>> is increasing by 132 kbytes per iteration, that is,
>>> with an hour this example application will consume
>>> 464MB RAM while no new data has been generated. In real
>>> application this effect will be even worse.
>>>
>>> So, I am looking for an advice how to avoid
>>> this memory leakage without clearing axes.
>>>
>>> 
>> Hey Pearu -- thanks for the report. We'll try and track down and fix
>> this leak. In the interim, would an acceptable work around for you be
>> to *reuse* an existing line by calling set_data on it. That way you
>> wouldn't have to do the add/remove that is causing your leak. Have
>> you confirmed this leak on various backends (eg Agg, PDF, PS)?
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Matplotlib-devel mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>>
>> 
>
> 
-- 
Michael Droettboom
Science Software Branch
Space Telescope Science Institute
Baltimore, Maryland, USA
2 messages has been excluded from this view by a project administrator.

Showing results of 77

1 2 3 4 > >> (Page 1 of 4)
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 によって変換されたページ (->オリジナル) /