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





Showing 7 results of 7

From: Ted D. <ted...@jp...> - 2008年03月13日 21:03:00
I'm working on improving the plotting speed of one of our applications. As
part of that, I was looking at how quickly the QtAgg backend is drawing. I
added some print out's to the backend and noticed that it seems to be
drawing everything twice. In the code:
backend_qtagg.py: FigureCanvasQTAgg class:
 def draw( self ):
 """
 Draw the figure when xwindows is ready for the update
 """
 if DEBUG: print "FigureCanvasQtAgg.draw", self
 self.replot = True
 FigureCanvasAgg.draw(self)
 self.repaint( False )
FigureCanvasAgg.draw() will cause a draw the repaint call will cause a draw.
If I comment out the FCAgg.draw() call, my application (QtAgg embedded in a
PyQt program) works fine. I've also run several of the various example
scripts and they seem to work fine as well. Panning, zooming, redraws,
resize, and file saving seem to be unaffected.
Does anyone know why the extra draw call might be necessary?
Ted
From: Mark E. H. <mh...@sa...> - 2008年03月13日 20:17:21
Attachments: cutils.py.diffs
I'm getting the traceback shown below in _get_configdir. I've attached a 
patch for cutils.py
[sierra@sierra-trac ~]$
/data0/sierra/trac/trac-0.11stable/bin/trac-admin /data0/www/trac/sierra
resync
Failed to open environment. not enough arguments for format string
Traceback (most recent call last):
...
"/data0/sierra/lib/python2.5/site-packages/matplotlib/__init__.py", line
400, in _get_configdir
 raise RuntimeError("'%s' is not a writable dir; you must set
%s/.matplotlib to be a writable dir. You can also set environment
variable MPLCONFIGDIR to any writable directory where you want
matplotlib data stored "%h)
TypeError: not enough arguments for format string
-- 
----------------
Mark E. Hamilton
Orion International Technologies, Inc.
Sandia National Laboratory, NM.
505-844-7666
From: Eric F. <ef...@ha...> - 2008年03月13日 18:27:28
Shannon Jaeger wrote:
> Hi Ryan and Eric,
> 
> I work on software that plots bits and pieces of radio astronomy
> data. We've run into similar issues and will be running into
> even more related to performance.
> 
> We have datasets that have millions of points, potentially into
> the billions in the not so distant future. Sometimes the way
> the users have choosen what bits and pieces to plot we need to
> break up the data into chunks and plot each chunk separately.
> To further complicate we allow them to overplot other large plots
> on top.
> 
> Anyway I'm very interested in learning more about how to use the
> quadmesh code and using it as well. Although I haven't played
> much with the source code at all, any advice on how to expose this
> at the API level would be appreciated. If modifying the backend
> is all that's needed we've already done a bit of this to tailor
> things to our needs.
Shannon,
I'm not sure what you mean by "expose this at the API level"; quadmesh 
is already exposed via the pcolormesh and pcolorfast axes methods. Do 
you mean via a pyplot/pylab wrapper? This can be done easily, but my 
intention was to work out the kinks in the pcolorfast method API before 
 wrapping it in pyplot, and possibly deprecate pcolormesh on the 
grounds that its functionality are included in pcolorfast. Instead of a 
proliferation of variations on this type of plot, I was hoping to 
consolidate everything into no more than two alternatives: the original 
pcolor, which can draw outlines around the boxes and draws only unmasked 
boxes; and pcolorfast, which omits those pesky outlines, and uses the 
fastest available algorithm for the type of data that are provided.
Eric
> 
> Thanks for any suggestions in advance.
> 
> Shannon
> ------------
> Shannon Jaeger
> Atacama Large Millimetre Array
> Dept. of Physics & Astronomy
> University of Calgary,
> Calgary, AB, Canada
> email: sdj...@uc...
> ph: +1 403 210 8495
> 
> 
> 
> On Thu, March 13, 2008 11:37 am, Eric Firing said:
>> Ryan,
>>
>> The pcolor implementation is fundamentally unsuited to large arrays.
>> Therefore I made the pcolorfast axes method, which tries to use the
>> fastest available Agg extension code, depending on the characteristics
>> of the spatial grid. If the grid is rectangular and regular in both
>> directions it uses a slight modification of the image code; if it is
>> rectangular but with irregular spacing, it uses the nonuniform image
>> code; and if it is not rectangular it uses the quadmesh code. It sounds
>> like what you need is the quadmesh version, which you can access either
>> via pcolormesh or pcolorfast. Neither is exposed via the pylab or
>> pyplot API at present; both are axes methods. The pcolorfast API also
>> may change slightly in the future; it probably needs a little more work.
>>
>> The quadmesh code has problems with masked arrays in the released
>> version of mpl, but not in the svn version. It is *much* faster than
>> pcolor, but may not be fast enough for your needs.
>>
>> If you are looking into what sounds like an OpenGL backend, or component
>> to a backend, then the place to start is still probably pcolormesh or
>> pcolorfast, not pcolor.
>>
>> Eric
>>
>> Ryan May wrote:
>>> Hi,
>>>
>>> I've been poking around with pcolor, trying to see what makes it tick,
>>> since its performance is biggest thing that drives me nuts about
>>> matplotlib. I do pcolor plots of weather radar data with ~100000
>>> polygons in them. Unfortunately, these polygons are at best trapezoids,
>>> so I can't treat it as image data. With this data, pcolor takes ages to
>>> zoom and pan, even on my new workstaion. My end goal is to be able to
>>> use OpenGL to do some 2D rendering, since in my experience, this simply
>>> flies at rendering such data for interactive analysis.
>>>
>>> I noticed that when I run the pcolor_demo.py (using current SVN trunk),
>>> 29396 separate calls are registered to RendererGDK->draw_path to simply
>>> draw the image the first time. Is there any reason why these can't be
>>> batched up and passed in one block to the renderer? This would make
>>> life easier in setting up OpenGL to render in one pass.
>>>
>>> Thanks
>>>
>>> Ryan
>>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Matplotlib-devel mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>>
>>
>>
> 
> 
From: Eric F. <ef...@ha...> - 2008年03月13日 17:38:02
Ryan,
The pcolor implementation is fundamentally unsuited to large arrays. 
Therefore I made the pcolorfast axes method, which tries to use the 
fastest available Agg extension code, depending on the characteristics 
of the spatial grid. If the grid is rectangular and regular in both 
directions it uses a slight modification of the image code; if it is 
rectangular but with irregular spacing, it uses the nonuniform image 
code; and if it is not rectangular it uses the quadmesh code. It sounds 
like what you need is the quadmesh version, which you can access either 
via pcolormesh or pcolorfast. Neither is exposed via the pylab or 
pyplot API at present; both are axes methods. The pcolorfast API also 
may change slightly in the future; it probably needs a little more work.
The quadmesh code has problems with masked arrays in the released 
version of mpl, but not in the svn version. It is *much* faster than 
pcolor, but may not be fast enough for your needs.
If you are looking into what sounds like an OpenGL backend, or component 
to a backend, then the place to start is still probably pcolormesh or 
pcolorfast, not pcolor.
Eric
Ryan May wrote:
> Hi,
> 
> I've been poking around with pcolor, trying to see what makes it tick, 
> since its performance is biggest thing that drives me nuts about 
> matplotlib. I do pcolor plots of weather radar data with ~100000 
> polygons in them. Unfortunately, these polygons are at best trapezoids, 
> so I can't treat it as image data. With this data, pcolor takes ages to 
> zoom and pan, even on my new workstaion. My end goal is to be able to 
> use OpenGL to do some 2D rendering, since in my experience, this simply 
> flies at rendering such data for interactive analysis.
> 
> I noticed that when I run the pcolor_demo.py (using current SVN trunk), 
> 29396 separate calls are registered to RendererGDK->draw_path to simply 
> draw the image the first time. Is there any reason why these can't be 
> batched up and passed in one block to the renderer? This would make 
> life easier in setting up OpenGL to render in one pass.
> 
> Thanks
> 
> Ryan
> 
From: Ryan M. <rm...@gm...> - 2008年03月13日 17:00:33
Hi,
I've been poking around with pcolor, trying to see what makes it tick, 
since its performance is biggest thing that drives me nuts about 
matplotlib. I do pcolor plots of weather radar data with ~100000 
polygons in them. Unfortunately, these polygons are at best trapezoids, 
so I can't treat it as image data. With this data, pcolor takes ages to 
zoom and pan, even on my new workstaion. My end goal is to be able to 
use OpenGL to do some 2D rendering, since in my experience, this simply 
flies at rendering such data for interactive analysis.
I noticed that when I run the pcolor_demo.py (using current SVN trunk), 
29396 separate calls are registered to RendererGDK->draw_path to simply 
draw the image the first time. Is there any reason why these can't be 
batched up and passed in one block to the renderer? This would make 
life easier in setting up OpenGL to render in one pass.
Thanks
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
From: Jeff W. <js...@fa...> - 2008年03月13日 16:28:18
Eric Firing wrote:
> Jeff,
>
> When putting a legend on a basemap plot, I find that the legend command 
> picks up the coastline line collection and gives it an uninformative 
> label. I suspect this is rarely what one wants. Two suggestions:
>
> 1) In drawcoastlines, use "coastlines.set_label('_nolabel_') to suppress 
> inclusion in the legend, and similarly for drawcountries, etc.
> 
Eric:
Done for coastlines, rivers, countries and states.
> 2) Make drawcoastlines return the line collection that it creates. 
> Similarly, drawcountries could return the line collection, 
> fillcoastlines could return the list of patches, etc. 
All done.
> Drawparallels and 
> drawmeridians are a little more complicated because they make the labels 
> as well as the lines, so I am not sure what to do with them.
> 
drawmeridians and drawmeridians now return dictionaries, with the Line2D 
and Text instances associated with each latitude or longitude.
> Granted, one can grab the reference to the line collection from the end 
> of ax.collections, but it seems cheap, reasonable, and more convenient 
> to simply have it returned by the command that makes it.
>
> Eric
>
>
> 
Thanks for the suggestion.
-Jeff
-- 
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jef...@no...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
From: Eric F. <ef...@ha...> - 2008年03月13日 00:20:34
Jeff,
When putting a legend on a basemap plot, I find that the legend command 
picks up the coastline line collection and gives it an uninformative 
label. I suspect this is rarely what one wants. Two suggestions:
1) In drawcoastlines, use "coastlines.set_label('_nolabel_') to suppress 
inclusion in the legend, and similarly for drawcountries, etc.
2) Make drawcoastlines return the line collection that it creates. 
Similarly, drawcountries could return the line collection, 
fillcoastlines could return the list of patches, etc. Drawparallels and 
drawmeridians are a little more complicated because they make the labels 
as well as the lines, so I am not sure what to do with them.
Granted, one can grab the reference to the line collection from the end 
of ax.collections, but it seems cheap, reasonable, and more convenient 
to simply have it returned by the command that makes it.
Eric

Showing 7 results of 7

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