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
(3) |
2
(3) |
3
(2) |
4
(9) |
5
(4) |
6
|
|
7
(1) |
8
(5) |
9
(3) |
10
(2) |
11
|
12
|
13
|
|
14
(4) |
15
|
16
|
17
|
18
(1) |
19
|
20
|
|
21
|
22
(4) |
23
(1) |
24
(6) |
25
(7) |
26
(1) |
27
|
|
28
(1) |
29
(5) |
30
(6) |
31
(10) |
|
|
|
|
From: John H. <jdh...@ac...> - 2005-08-31 14:16:42
|
>>>>> "Robert" == Robert Kern <rk...@uc...> writes:
Sascha> I am writing a web server app that creates charts among
Sascha> other things. I am trying to get rid of the temporary file
Sascha> that I use to transmit the figures created with matplotlib
Sascha> to the actual web server. Although print_figure says "If
Sascha> filename is a fileobject, write png to file object (thus
Sascha> you can, for example, write the png to stdout)" I can't
Sascha> successfully write anything to stdout. Anyone knows an
Sascha> example or can give me some hint what I can do to get rid
Sascha> of the tempfile?
>> Short answer: no known way to do this currently, though we'd
>> like to figure it out. As far as I know (and could very well
>> be wrong) libpng requires a FILE*, which StringIO and cStringIO
>> do not provide.
Robert> StringIO isn't the issue here; being able to write to
Robert> sys.stdout, which ought to have a valid FILE* underneath,
Robert> is the issue.
Thanks for reminding me about this. I thought it was possible to do
this, but had managed to forget
import sys
from pylab import plot, savefig, show
plot([1,2,3])
savefig(sys.stdout)
show()
which I run with
> python test.py -dAgg > test.png
produces the expected figure.
JDH
|
|
From: Arnd B. <arn...@we...> - 2005-08-31 12:20:29
|
Hi, On Tue, 30 Aug 2005, Ken McIvor wrote: > On Aug 30, 2005, at 10:45 AM, Arnd Baecker wrote: > > I would have thought so as well. However I get: > <snip> > > A search for wxPython.h on > > http://www.debian.org/distrib/packages#search_packages > > gives no hits. > > Sorry, due to a lack of coffee this morning I misread "wxPython.h" as > "wxWidgets.h" or something daft, yielding the kneejerk "install the > -dev package" response. > > I wasn't aware of this situation, but it has the potential to be a big > problem for me at work, where we primarily run Debian. I have emailed > Ron Lee, the wxgtk2.4 package maintainer, about the situation. We'll > see what he has to say on the matter. Excellent - I was thinking about doing the same. > > I agree. I wonder if anything improved with wx2.6? (for our > > PlottingCanvas > > we even dared to keep drawing DCs around, and it works without > > problems...) > > What PlottingCanvas is this? I'd be interested in seeing what > optimizations you guys performed, if the source is available. http://www.physik.tu-dresden.de/~baecker/python/plot.html One of our main goals was to plot many points quickly, in such a way that one appears after another to get a "dynamic" appearance. See http://www.physik.tu-dresden.de/~baecker/python/StandardMap.py as an example. (note that it still uses the old wx style...) [...] > > However, we are currently investigating to use > > matplotlib for > > a computational physics course (which will be next summer) and many of > > the > > students have *much* slower machines. So we need maximum speed but > > with a > > minimum of coding hassle (around 30% of the students have never > > programmed > > before ...). > > Just leveling the playing field between WXAgg and GtkAgg is exciting > for me, because that means that future efforts at general optimization > will net a bigger speed improvement for WXAgg. > > I'd imagine the plotting speed will be good enough for something along > the lines of interactive plotting with iPython or visualizing results > with pylab. We have just finished the conversion of all exercices of our course from scipy.xplt (aka pygist) to matplotlib. Unfortunately, quite a few are prohibitively slow, even on our fast machines. But we have some ideas on possible improvements (both on the side of our code and on the side of matplotlib) - this is going to be separate thread though ;-) > Speaking as a recent survivor of a computational physics > class, I expect you to see a huge benefit from using Python as the > language and matplotlib as the visualization, especially if you have > students who have never programmed before. I absolutely agree - we have been running our course now for the third year, so far with scipy and scipy.xplt as plotting programm. We had very positive feedback (of course, those who never programmed before, had to work harder ;-). Just in case: http://www.comp-phys.tu-dresden.de/cp2005/, however the material (apart from the FAQ) is in German. Best, Arnd |
|
From: Nicholas Y. <su...@su...> - 2005-08-31 10:04:03
|
On Tue, 2005-08-30 at 21:16 -0700, Robert Kern wrote:
> Why not use PIL where it's available? backend_agg2.py has a start at
> this. Here's a slightly more fleshed-out (but untested) implementation
> for backend_agg.py :
>
> if not is_string_like(filename):
> try:
> import Image
> have_pil = True
> except ImportError:
> have_pil = False
> if have_pil:
> img = Image.frombuffer('RGBA', (self.width, self.height),
> self.buffer_rgba(0, 0))
> img.write(filename)
> else:
> self.renderer._renderer.write_png(filename)
I've previously had a problem with the origin when doing something
similar with buffer_rgba (resulting in a vertical flip). Doing:
im = Image.frombuffer('RGBA', (self.width, self.height),
self.buffer_rgba(0, 0),
'raw', 'RGBA', 0, 1)
fixes that problem.
If a method utilising PIL images in this manner is added I'd suggest
adding a to_pil (or similar) method for those who want to process the
resulting image in some manner requiring PIL.
Nick
|
|
From: Arnd B. <arn...@we...> - 2005-08-31 07:05:30
|
On Tue, 30 Aug 2005, Ken McIvor wrote:
[...]
> # assuming z0 is the initial MxN array that is being decayed...
> z_min = min(nx.minimum.reduce(z0))
> z_max = max(nx.maximum.reduce(z0))
> image = axes.imshow(z0, vmin=z_min, vmax=z_max)
>
> As an aside: I'd love to hear if anyone knows of a nicer way to get
> Numeric to give you the minimum value of a matrix.
What about:
z_min=min(ravel(z0))
In [3]:Numeric.ravel?
ravel(m) returns a 1d array corresponding to all the elements of it's
argument.
OTOH, I am not sure, if the usage of min (which is a python builtin,
operating on sequences) does not cost some performance.
So maybe
z_min = nx.minimum.reduce(nx.ravel(z0))
is more efficient?
Best,
Arnd
|
|
From: Abraham S. <ab...@cn...> - 2005-08-31 04:22:16
|
Thanks! Great catch. Sadly, I have been bitten by this before, but had completely forgotten about it. I've switched to just doing vmin=0, vmax=1, as I know the range before hand. Abe Ken McIvor wrote: > On Aug 30, 2005, at 10:29 PM, John Hunter wrote: > >> I suggest you follow pick through set_data and make_image in the image >> module to see if you can sort out what is going wrong. Alternatively, >> if you post an example then I can take a look. > > > I've done Abraham's work for him this time, and attached an example > which demonstrates behavior that he *may* be seeing. > > The problem is that the minimum and maximum values of the image are > determined every time the image is asked to draw itself (in > matplotlib.image.AxesImage.__draw()). I assume that what's happening > is that the colors aren't fading down the color ramp as the values > decay, but are rather staying constant or blurring a little. > > This happens because the color ramp is being applied across the > current minimum and maximum of the data, rather than across some > absolute scale. The solution to this (see the attached script for the > example) is to specify a vmin and vmax, which will pin the top and > bottom of the color ramp to those values: > > # assuming z0 is the initial MxN array that is being decayed... > z_min = min(nx.minimum.reduce(z0)) > z_max = max(nx.maximum.reduce(z0)) > image = axes.imshow(z0, vmin=z_min, vmax=z_max) > > As an aside: I'd love to hear if anyone knows of a nicer way to get > Numeric to give you the minimum value of a matrix. > > Ken |
|
From: Robert K. <rk...@uc...> - 2005-08-31 04:17:03
|
John Hunter wrote:
>>>>>>"Sascha" == Sascha <sas...@gm...> writes:
>
>
> Sascha> I am writing a web server app that creates charts among
> Sascha> other things. I am trying to get rid of the temporary file
> Sascha> that I use to transmit the figures created with matplotlib
> Sascha> to the actual web server. Although print_figure says "If
> Sascha> filename is a fileobject, write png to file object (thus
> Sascha> you can, for example, write the png to stdout)" I can't
> Sascha> successfully write anything to stdout. Anyone knows an
> Sascha> example or can give me some hint what I can do to get rid
> Sascha> of the tempfile?
>
> Short answer: no known way to do this currently, though we'd like to
> figure it out. As far as I know (and could very well be wrong)
> libpng requires a FILE*, which StringIO and cStringIO do not provide.
StringIO isn't the issue here; being able to write to sys.stdout, which
ought to have a valid FILE* underneath, is the issue.
Why not use PIL where it's available? backend_agg2.py has a start at
this. Here's a slightly more fleshed-out (but untested) implementation
for backend_agg.py :
if not is_string_like(filename):
try:
import Image
have_pil = True
except ImportError:
have_pil = False
if have_pil:
img = Image.frombuffer('RGBA', (self.width, self.height),
self.buffer_rgba(0, 0))
img.write(filename)
else:
self.renderer._renderer.write_png(filename)
--
Robert Kern
rk...@uc...
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
|
|
From: Ken M. <km...@gm...> - 2005-08-31 03:51:46
|
On Aug 30, 2005, at 10:29 PM, John Hunter wrote: > I suggest you follow pick through set_data and make_image in the image > module to see if you can sort out what is going wrong. Alternatively, > if you post an example then I can take a look. I've done Abraham's work for him this time, and attached an example which demonstrates behavior that he *may* be seeing. The problem is that the minimum and maximum values of the image are determined every time the image is asked to draw itself (in matplotlib.image.AxesImage.__draw()). I assume that what's happening is that the colors aren't fading down the color ramp as the values decay, but are rather staying constant or blurring a little. This happens because the color ramp is being applied across the current minimum and maximum of the data, rather than across some absolute scale. The solution to this (see the attached script for the example) is to specify a vmin and vmax, which will pin the top and bottom of the color ramp to those values: # assuming z0 is the initial MxN array that is being decayed... z_min = min(nx.minimum.reduce(z0)) z_max = max(nx.maximum.reduce(z0)) image = axes.imshow(z0, vmin=z_min, vmax=z_max) As an aside: I'd love to hear if anyone knows of a nicer way to get Numeric to give you the minimum value of a matrix. Ken |
|
From: John H. <jdh...@ac...> - 2005-08-31 03:29:07
|
>>>>> "Abraham" == Abraham Schneider <ab...@cn...> writes:
Abraham> I haven't had time to do a full search yet, but was
Abraham> hoping someone might at least have an idea of where to
Abraham> begin to look. My current suspicions is that there might
Abraham> be a caching issue.
It could be -- the image module does do some caching. But im.set_data
*does* clear the cache with
self._imcache =None
I suggest you follow pick through set_data and make_image in the image
module to see if you can sort out what is going wrong. Alternatively,
if you post an example then I can take a look.
JDH
|
|
From: Abraham S. <ab...@cn...> - 2005-08-31 00:37:24
|
Sorry, realized I was a little vague. When I say, 'choppy', I mean that some cells won't get updated. If there is a lot of activity everything looks like, but once activity dies down, some elements stay on in various stages (somewhat like bad pixels). Abraham Schneider wrote: > Hi. Sorry if this was covered already, but I ran into a recent problem > with animating an image using GTKAgg (and matplotlib 0.83.2). In my > update_fig() function, I do: > > im.set_data(g) > manager.canvas.draw() > > where g is some arbritrary 20x20 array. Over time it's elements will > be set to 1, and then decay exponentially. For the majority of the > time the array contains all 0s. Under these conditions, it gets very > choppy, and skips a large number of frames. > > If I do something like: g[0, 0] = 1, then the animation runs smoothly, > and looks like it's supposed to (except I now have one cell in the > grid set the an incorrect value. > > I haven't had time to do a full search yet, but was hoping someone > might at least have an idea of where to begin to look. My current > suspicions is that there might be a caching issue. > > Thanks, > > Abe > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing > & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel |
|
From: Abraham S. <ab...@cn...> - 2005-08-31 00:33:26
|
Hi. Sorry if this was covered already, but I ran into a recent problem with animating an image using GTKAgg (and matplotlib 0.83.2). In my update_fig() function, I do: im.set_data(g) manager.canvas.draw() where g is some arbritrary 20x20 array. Over time it's elements will be set to 1, and then decay exponentially. For the majority of the time the array contains all 0s. Under these conditions, it gets very choppy, and skips a large number of frames. If I do something like: g[0, 0] = 1, then the animation runs smoothly, and looks like it's supposed to (except I now have one cell in the grid set the an incorrect value. I haven't had time to do a full search yet, but was hoping someone might at least have an idea of where to begin to look. My current suspicions is that there might be a caching issue. Thanks, Abe |