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






Showing 12 results of 12

From: Darren D. <dd...@co...> - 2006年04月04日 22:25:36
On Tuesday 04 April 2006 16:48, John Hunter wrote:
> >>>>> "Darren" == Darren Dale <dd...@co...> writes:
>
> Darren> I see a draw_lines_testing in backend_ps. I think it could
> Darren> be a good approach, but it doesnt make it very easy to
> Darren> skip unplottable elements like nans, infs. Could xy_tup
> Darren> accept a kwarg to make it raise an error when it tries to
> Darren> transform an inf or a nan?
>
> I don't see why not. Alternatively, the nan testing could be done in
> "drawone". I was planning on filtering the path in chunks (eg 100
> verts at a time) through drawone using map or listcomps, which should
> be faster and will not violate the max path size of some postscript
> interpreters. But I didn't get that far when my wife made me go to
> bed. So if you want to pick up where I left off, feel free.
Ok, I finished it off, unmasked it, and made similar changes to draw_markers. 
Changes in svn 2257.
Darren
From: John H. <jdh...@ac...> - 2006年04月04日 20:51:21
>>>>> "Darren" == Darren Dale <dd...@co...> writes:
 Darren> I see a draw_lines_testing in backend_ps. I think it could
 Darren> be a good approach, but it doesnt make it very easy to
 Darren> skip unplottable elements like nans, infs. Could xy_tup
 Darren> accept a kwarg to make it raise an error when it tries to
 Darren> transform an inf or a nan?
I don't see why not. Alternatively, the nan testing could be done in
"drawone". I was planning on filtering the path in chunks (eg 100
verts at a time) through drawone using map or listcomps, which should
be faster and will not violate the max path size of some postscript
interpreters. But I didn't get that far when my wife made me go to
bed. So if you want to pick up where I left off, feel free.
JDH
From: Darren D. <dd...@co...> - 2006年04月04日 20:30:44
On Monday 03 April 2006 22:16, John Hunter wrote:
> >>>>> "Darren" == Darren Dale <dd...@co...> writes:
> Darren> Also, if I do the transform in backend_ps, instead of
> Darren> passing it to the postscript interpreter, I see a big
> Darren> speedup at render time. Right now I am doing this
> Darren> transform by hand:
>
> Darren> a,b,c,d,tx,ty=vec6 xo = a*x+c*y +tx yo = b*x+d*y + ty x,y
> Darren> = xo,yo
>
> Darren> Is there a better way to do this? I thought I could simply
> Darren> call numerix_x_y, but that function is not compatible with
> Darren> nonlinear transforms (returns a domain error if one of the
> Darren> axes is log-scaled).
>
> You can transform the xy values point by point. Instead of separating
> them into their nonlinear and affine components as we are currently
> doing in backend_ps, you can call trans.xy_tup which will do both. If
> successful, it will return the transformed xy, if it fails, it will
> raise a ValueError, and you can set the moveto/lineto state
> accordingly.
I see a draw_lines_testing in backend_ps. I think it could be a good approach, 
but it doesnt make it very easy to skip unplottable elements like nans, infs. 
Could xy_tup accept a kwarg to make it raise an error when it tries to 
transform an inf or a nan?
Darren
From: Helge A. <av...@bc...> - 2006年04月04日 16:12:47
On 3/31/06, Eric Firing <ef...@ha...> wrote:
> For now, I have added an axis('image') mode, which is not quite the same
> as 'scaled', and I have tried to improve the descriptions of the
> options. Please try out the various axis modes, and see if you think
> both the behavior and the descriptions make sense.
Hi,
from what I see, the axis command now works really well, excellent work!
the descriptions also look fine - I am not a native English speaker/writer
so I fail to see how to make them more precise without beeing much more ver=
bose.
thanks,
Helge
From: Andrew S. <str...@as...> - 2006年04月04日 15:14:49
Andrew Straw wrote:
> Anyhow, given that basemap comes with 82 MB
>of Earth-specific data which I don't need all the time, I think it would
>be really great if it would be possible to make the inclusion of such
>data optional.
>
That wasn't particularly clear. What I meant to say was that when
running basemap, it would be nice if the contents in the data path were
optionally not loaded if the user knew she was not going to plot
coastlines, etc. I have no problems with actually installing the data,
although to be fair the reason I'd like this feature is so that I don't
have to have a basemap data path at all.
From: John H. <jdh...@ac...> - 2006年04月04日 15:05:48
>>>>> "Pearu" == Pearu Peterson <pe...@sc...> writes:
 Pearu> Hi,
 Pearu> When the mouse cursor is over a figure then pressing
 Pearu> certain key buttons such as Tab, CapsLock, Enter, Backspace
 Pearu> etc will trigger the following exception:
Thanks for the report, Pearu. Checkout svn 2256 for a fix.
JDH
From: Pearu P. <pe...@sc...> - 2006年04月04日 14:37:27
Hi,
When the mouse cursor is over a figure then pressing certain
key buttons such as Tab, CapsLock, Enter, Backspace etc
will trigger the following exception:
Traceback (most recent call last):
 File 
"/usr/local/lib/python2.3/site-packages/matplotlib/backends/backend_gtk.py", 
line 160, in key_press_event
 FigureCanvasBase.key_press_event(self, key)
 File 
"/usr/local/lib/python2.3/site-packages/matplotlib/backend_bases.py", line 
806, in key_press_event
 func(event)
 File 
"/usr/local/lib/python2.3/site-packages/matplotlib/backend_bases.py", line 
987, in key_press
 elif (event.key.isdigit() and event.key!='0') or event.key=='a':
AttributeError: 'NoneType' object has no attribute 'isdigit'
I am using matplotlib from svn (0.88).
Pearu
From: Andrew S. <str...@as...> - 2006年04月04日 10:35:17
Hi Jeff!
I've been using your basemap package as a way to skip the thinking step
when plotting stuff on spheres, which I often do in relation to my
studies of flies' eyes... Anyhow, given that basemap comes with 82 MB
of Earth-specific data which I don't need all the time, I think it would
be really great if it would be possible to make the inclusion of such
data optional. I attach a patch which suffices for my extremely limited
needs (I simply call the __call__ method of the Basemap.Basemap class),
but doubtless causes breakage elsewhere. So, I haven't checked it in,
hoping that you might take the idea and make it a little less brittle.
I suspect there are lots of people who would like to plot things on
spheres, but wouldn't necessarily want the inclusion of coastlines,
rivers, and such. ;) So, I think this is a general purpose improvement
and ask you to consider completing the job.
Unrelated note 1: I committed a patch to setup.py and setupegg.py to
make the thing respect setuptools even if setupegg.py wasn't run.
Unrelated note 2: The setuptools/.egg approach to data is to include it
with the .py files. Initially I thought about modifying the basemap data
path scheme to support this, but in the case of 82M, though, I'd say
that's stretching it a bit, especially with the tendancy for people
(well, me, at least), to have the last 5-100 versions of the .eggs I
built lying in site-packages.
Cheers!
Andrew
From: Eric F. <ef...@ha...> - 2006年04月04日 03:38:13
Darren,
> I suppose it could be an issue with my gs, a few weeks ago I upgraded to 
> gcc-4.1 and have since recompiled gs. Would you run this script:
> 
> from pylab import *
> x=rand(1000)
> y=rand(1000)
> plot(x,y)
> savefig('apitest.eps')
> 
> and then open the file in ggv? If it opens quickly, maybe you could also try 
> rand(10000).
About 25 seconds on a 1.6G Pentium M, ESP Ghostscript 8.15.1 (2005年09月22日)
Eric
From: Darren D. <dd...@co...> - 2006年04月04日 03:03:53
Hi John,
On Monday 03 April 2006 10:16 pm, you wrote:
> >>>>> "Darren" == Darren Dale <dd...@co...> writes:
>
> Darren> I think there are two issues here. The postscript
> Darren> interpreter doesnt like to stroke long paths. If I break
> Darren> the path into 50 point chunks instead of 1000 point
> Darren> chunks, I see an improvement.
>
> That's odd, because we never saw an issue stroking long pats before.
> Or at least noone has ever reported it.
I suppose it could be an issue with my gs, a few weeks ago I upgraded to 
gcc-4.1 and have since recompiled gs. Would you run this script:
from pylab import *
x=rand(1000)
y=rand(1000)
plot(x,y)
savefig('apitest.eps')
and then open the file in ggv? If it opens quickly, maybe you could also try 
rand(10000).
> Darren> Also, if I do the transform in backend_ps, instead of
> Darren> passing it to the postscript interpreter, I see a big
> Darren> speedup at render time. Right now I am doing this
> Darren> transform by hand:
>
> Darren> a,b,c,d,tx,ty=vec6 xo = a*x+c*y +tx yo = b*x+d*y + ty x,y
> Darren> = xo,yo
>
> Darren> Is there a better way to do this? I thought I could simply
> Darren> call numerix_x_y, but that function is not compatible with
> Darren> nonlinear transforms (returns a domain error if one of the
> Darren> axes is log-scaled).
>
> You can transform the xy values point by point. Instead of separating
> them into their nonlinear and affine components as we are currently
> doing in backend_ps, you can call trans.xy_tup which will do both. If
> successful, it will return the transformed xy, if it fails, it will
> raise a ValueError, and you can set the moveto/lineto state
> accordingly.
I see. But can that be done in a list comprehension? I think it will require a 
regular for loop. I think doing the transforms as I described above is a 
better solution. It fixed the render times on my machine and my 
backend_driver tests looked fine. I'll wait for feedback, and test a little 
more tomorrow before committing.
> But I am still confused by your previous post: you said that when you
> tried to load the simple plot example PS file in gs, the line rendered
> quickly, and then there was the interminable pause. This suggests
> that it is not the transformation in gs that is the bottleneck, but
> something that happens after it.
It was axes_demo.py. I discovered the reason: a 10,000 pt line is written to 
the postscript file, but only 1000 points are drawn because of the x-axis 
limits. So it was churning away, processing points that dont get drawn. I 
confirmed this was the case: by commenting out the other 9000 points in 
axes_demo_PS.ps, the render time improved.
Darren
From: John H. <jdh...@ac...> - 2006年04月04日 02:19:23
>>>>> "Darren" == Darren Dale <dd...@co...> writes:
 Darren> I think there are two issues here. The postscript
 Darren> interpreter doesnt like to stroke long paths. If I break
 Darren> the path into 50 point chunks instead of 1000 point
 Darren> chunks, I see an improvement.
That's odd, because we never saw an issue stroking long pats before.
Or at least noone has ever reported it.
 Darren> Also, if I do the transform in backend_ps, instead of
 Darren> passing it to the postscript interpreter, I see a big
 Darren> speedup at render time. Right now I am doing this
 Darren> transform by hand:
 Darren> a,b,c,d,tx,ty=vec6 xo = a*x+c*y +tx yo = b*x+d*y + ty x,y
 Darren> = xo,yo
 Darren> Is there a better way to do this? I thought I could simply
 Darren> call numerix_x_y, but that function is not compatible with
 Darren> nonlinear transforms (returns a domain error if one of the
 Darren> axes is log-scaled).
You can transform the xy values point by point. Instead of separating
them into their nonlinear and affine components as we are currently
doing in backend_ps, you can call trans.xy_tup which will do both. If
successful, it will return the transformed xy, if it fails, it will
raise a ValueError, and you can set the moveto/lineto state
accordingly.
But I am still confused by your previous post: you said that when you
tried to load the simple plot example PS file in gs, the line rendered
quickly, and then there was the interminable pause. This suggests
that it is not the transformation in gs that is the bottleneck, but
something that happens after it.
In any case, here is an example script creating a semilogx transform.
The first transformation succeeds, the second raises a ValueError
from matplotlib.transforms import SeparableTransformation, \
 Point, Value, Bbox, LOG10, IDENTITY, Func
import matplotlib.numerix as nx
# make some random bbox transforms 
def rand_point():
 x,y = nx.mlab.rand(2)
 return Point( Value(x), Value(y) )
def rand_bbox():
 ll = rand_point()
 ur = rand_point()
 return Bbox(ll, ur)
b1 = rand_bbox()
b2 = rand_bbox()
funcx = Func(LOG10)
funcy = Func(IDENTITY)
# semilogx
trans = SeparableTransformation(b1, b2, funcx, funcy) 
print trans.xy_tup((1,2)) #ok
print trans.xy_tup((-1,2)) #raises
From: Darren D. <dd...@co...> - 2006年04月04日 00:58:50
On Monday 03 April 2006 11:16 am, John Hunter wrote:
> >>>>> "Darren" == Darren Dale <dd...@co...> writes:
>
> Darren> I'm having second thoughts about the wisdom of having
> Darren> postscript handle the transforms. With the new API, I run
> Darren> backend_driver.py and get a file called
> Darren> axes_demo_PS.ps. On my machine, it takes about 10 seconds
> Darren> to open this file if it was created with the new API. If I
> Darren> mask draw_markers and recreate the postscript file, it
> Darren> loads instantly.
>
> So you think the performance hit is caused by gs (or whatever viewer
> you are using) by the postscript engine doing the transformations? It
> surprises me that this would be so inefficient.
>
> We have the option of doing the transformations in the ps backend...
I think there are two issues here. The postscript interpreter doesnt like to 
stroke long paths. If I break the path into 50 point chunks instead of 1000 
point chunks, I see an improvement.
Also, if I do the transform in backend_ps, instead of passing it to the 
postscript interpreter, I see a big speedup at render time. Right now I am 
doing this transform by hand:
a,b,c,d,tx,ty=vec6
xo = a*x+c*y +tx
yo = b*x+d*y + ty
x,y = xo,yo
Is there a better way to do this? I thought I could simply call numerix_x_y, 
but that function is not compatible with nonlinear transforms (returns a 
domain error if one of the axes is log-scaled).
Thanks,
Darren

Showing 12 results of 12

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