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
|
|
From: John H. <jdh...@ac...> - 2006-05-09 15:42:48
|
>>>>> "Eric" == Eric Firing <ef...@ha...> writes:
Eric> John (Hunter), Paul (Kienzle), Alex (Mont), I have fixed
Eric> some of the problems with pcolormesh reported by George
I think some of these changes are not playing well with numarray
peds-pc311:~/mpl/examples> python image_demo_na.py
Traceback (most recent call last):
File
"/usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py", line 283, in expose_event
self._render_figure(self._pixmap, w, h)
File
"/usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtkagg.py", line 72, in _render_figure
FigureCanvasAgg.draw(self)
File
"/usr/lib/python2.4/site-packages/matplotlib/backends/backend_agg.py", line 389, in draw
self.figure.draw(renderer)
File "/usr/lib/python2.4/site-packages/matplotlib/figure.py", line
529, in draw
for a in self.axes: a.draw(renderer)
File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line
972, in draw
im.draw(renderer)
File "/usr/lib/python2.4/site-packages/matplotlib/image.py", line
184, in draw im = self.make_image()
File "/usr/lib/python2.4/site-packages/matplotlib/image.py", line
115, in make_image
x = self.to_rgba(self._A, self._alpha)
File "/usr/lib/python2.4/site-packages/matplotlib/cm.py", line 56,
in to_rgba
x = self.norm(x)
File "/usr/lib/python2.4/site-packages/matplotlib/colors.py", line
657, in __call__
mask=val.mask)
File
"/home/jdhunter/debs/numarray/usr/lib/python2.4/site-packages/numarray/ma/MA.py", line 649, in __init__
self._mask = make_mask (mask, flag=ss)
File
"/home/jdhunter/debs/numarray/usr/lib/python2.4/site-packages/numarray/ma/MA.py", line 185, in make_mask
result = Numeric.array(filled(m,1), MaskType, savespace=1)
File
"/home/jdhunter/debs/numarray/usr/lib/python2.4/site-packages/numarray/ma/MA.py", line 230, in filled
return Numeric.array(a)
File
"/home/jdhunter/debs/numarray/usr/lib/python2.4/site-packages/numarray/numarraycore.py", line 411, in array
return fromlist(sequence,type,shape)
File
"/home/jdhunter/debs/numarray/usr/lib/python2.4/site-packages/numarray/numarraycore.py", line 247, in fromlist
if not len(seq) and type is None:
TypeError: len() of unsized object
peds-pc311:~/mpl/examples>
|
|
From: Eric F. <ef...@ha...> - 2006-05-06 18:35:26
|
John (Hunter), Paul (Kienzle), Alex (Mont), I have fixed some of the problems with pcolormesh reported by George Nurser on May 4, but the remaining problems appear to involve Agg rendering with alpha != 1. To see the problem, run examples/quadmesh_demo.py, and resize the window a few times, or zoom on the masked region of the RH subplot. You will see that the redraw does not erase what was under the region that is masked in the redraw. The masked region is transparent by default. A bit of uncommenting and commenting in quadmesh_demo.py allow you to make the masked region any color and alpha; you will find that if alpha is 1.0, this problem does not occur. Second question: Why does QuadMesh.draw() *not* call update_scalarmappable()? The draw method seems like the logical place to do this, as other collection classes do. Thanks. Eric |
|
From: Jouni K S. <jk...@ik...> - 2006-05-02 07:19:42
|
Tennessee Leeuwenburg <ten...@te...> writes: > TypeError: Bbox::update_numerix expected numerix array [...] > As I'm passing in simple python types, I don't see how this is the > fault of my code. I tried passing in various flags (--numpy, > --numarray, --Numeric) but I just got the exact same error message. I don't know anything about mplot3D, but have you tried wrapping the arguments in nx.asarray (where nx is obtained from "from matplotlib import numerix as nx)? -- Jouni |
|
From: Tennessee L. <ten...@te...> - 2006-05-02 06:06:49
|
Hi all,
My problem includes the use of mplot3D, so I'm not sure if this is the
appropriate venue...
The last n lines of my program are :
xs = tuple(xs)
ys = tuple(ys)
zs = tuple(zs)
fig = p.figure()
ax = p3d.Axes3D(fig)
ax.scatter3D(xs,ys,zs)
fig.add_axes(ax)
p.show()
and my error message is
Traceback (most recent call last):
File "grid.py", line 56, in ?
ax.scatter3D(xs,ys,zs)
File "/usr/lib/python2.4/site-packages/mplot3d/mplot3d.py", line 997,
in scatter3D
self.auto_scale_xyz(xs,ys,zs, had_data)
File "/usr/lib/python2.4/site-packages/mplot3d/mplot3d.py", line 736,
in auto_scale_xyz
self.zz_dataLim.update_numerix(z, z, not had_data)
TypeError: Bbox::update_numerix expected numerix array
As I'm passing in simple python types, I don't see how this is the fault
of my code. I tried passing in various flags (--numpy, --numarray,
--Numeric) but I just got the exact same error message.
Ideas appreciated!
Cheers,
-T
|
|
From: Andrew S. <str...@as...> - 2006-04-27 22:46:57
|
It seems there are error reports in the wild which may not be getting to=20 us here at matplotlib-devel. I'm forwarding one to our list. Does anyone=20 know the cause of the issue below? Can we fix it? Gonzalo, I'm forwarding your emails to the matplotlib-devel list. If you=20 reply to us there and could be more specific about "get errors" someone=20 would be much better able to figure out what is going wrong. -------- Original Message -------- Subject: Re: [Fann-general] pyfann+pylab Date: Wed, 26 Apr 2006 18:27:03 +0200 From: Gonzalo A. de la Vega <gad...@ya...> Reply-To: fan...@li... To: fan...@li... References: <444...@ya...>=20 <444...@fm...> Thanks... I tried that before thou. I just found out, following some=20 tips on matplotlib archives, that the problem comes from localization. I=20 just run with English and runs fine (used Spanish before), but the=20 problem apparently comes for pylab (it may be only Fedora Core 5). Michael R=F6ttger wrote: > Hi Gonzalo, > > Gonzalo A. de la Vega schrieb: > =20 >> Working with pyfann I get errors when reading training data or nets fr= om >> files, but only if the pylab module (or part of it) has been imported.= I >> know pylab overloads some python operations, but I don't see how this >> could affect pyfann. Any ideas? >> =20 > > try to import both modules in separate namespaces, e.g. > > import pylab as pl > import pyfann.libfann as fann > > and use it like > > pl.plot(..) > ann =3D fann.neural_net() > ann.create_from_file(..) > > In this way I carried out a short test (matplotlib 0.85, pyfann2) and > had no problems when reading a network with ann.create_from_file(..). > > Michael > > =20 ------------------------------------------------------- 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 ea= sier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o http://sel.as-us.falkag.net/sel?cmd=3Dk&kid=120709&bid&3057&dat=121642 _______________________________________________ Fann-general mailing list Fan...@li... https://lists.sourceforge.net/lists/listinfo/fann-general |
|
From: Christopher B. <Chr...@no...> - 2006-04-27 19:13:55
|
Pepe SM wrote: > I have uploaded a plot done with my code to the > following address: > http://www.iaa.csic.es/~jsm/matplotlib/lfir-lradio.png Thanks. It looks like your approach provides a subset of what mine does, with probably the benefit of better performance. Am I correct that for a given series, the markers are all the same, that is, they all point in the same direction and are the same length? With my code, each data point gets a different direction (though they are all the same length -- maybe I should change that). You could set them to be all the same to get similar results to your approach. This brings up another question: Could you have created a custom marker without having to patch the code, but rather using the existing API? If not, that would be a good feature to add. -Chris -- Christopher Barker, Ph.D. Oceanographer NOAA/OR&R/HAZMAT (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no... |
|
From: Pepe SM <kom...@ya...> - 2006-04-27 18:52:52
|
Hello Chris, El Jueves, 27 de Abril de 2006 02:10, Christopher Barker escribió: > You might want to do something with a LineCollection instead. TRy the > enclosed code. Is that what you are looking for? > Yes, it is fine. > I intend, some day, to clean this up and submit it to MPL, but in the > meantime, feel free to use or hack on it. > > By the way, do you have a sample of what your code produces? > I have uploaded a plot done with my code to the following address: http://www.iaa.csic.es/~jsm/matplotlib/lfir-lradio.png Pepe. ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com |
|
From: John H. <jdh...@ac...> - 2006-04-27 13:04:03
|
I just changed the defaults on the mailing lists to member posting only, so hopefully this will stop the spammers. JDH |
|
From: Christopher B. <Chr...@no...> - 2006-04-27 00:11:08
|
You might want to do something with a LineCollection instead. TRy the
enclosed code. Is that what you are looking for?
I intend, some day, to clean this up and submit it to MPL, but in the
meantime, feel free to use or hack on it.
By the way, do you have a sample of what your code produces?
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
NOAA/OR&R/HAZMAT (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chr...@no...
|
|
From: Darren D. <dd...@co...> - 2006-04-26 20:39:55
|
Thank you Jared Wahlstrand and anyone else who has contributed to the svg backend. I'm making a poster with Inkscape, and had trouble importing some eps graphics, when I remembered that we have svg support. MPL kicks ass. |
|
From: John H. <jdh...@ac...> - 2006-04-26 20:22:13
|
>>>>> "Tom" == Tom Denniston <tom...@al...> writes:
Tom> I was able to work around the error simply by doing the
Tom> obvious, making var = 0 if max(abs(vmin), abs(vmax)). I
Tom> think someone who understood the code better could probably
Tom> come up with a better solution.
Hey Tom, this bug is already fixed in matplotlib svn. Thanks for the
report.
JDH
|
|
From: Tom D. <tom...@al...> - 2006-04-26 20:17:53
|
The following code in matplotlib.ticker has a bug: 730 def scale_range(vmin, vmax, n =3D 1, threshold=3D100): 731 dv =3D abs(vmax - vmin) 732 meanv =3D 0.5*(vmax+vmin) 733 B-> var =3D dv/max(abs(vmin), abs(vmax)) 734 if var < 1e-12: 735 return 1.0, 0.0 736 if abs(meanv)/dv < threshold: 737 offset =3D 0 738 elif meanv > 0: When both dmin and dmax are 0 it results in 0 division. I have been unable to write a snippet of code to reproduce the problem unfortunately. I was able to work around the error simply by doing the obvious, making var =3D 0 if max(abs(vmin), abs(vmax)). I think someone who understood the code better could probably come up with a better solution. --Tom |
|
From: Pepe SM <kom...@ya...> - 2006-04-26 19:24:17
|
Hello,
This is my first message to the mailing list. I send a
patch to plot arrows as markers. I hope someone find
it usefull.
I needed to plot arrows as markers and I did not find
how to do it easily. Finally I changed some of the
source code (axes.py and lines.py) to do this.
To plot an arrow you have to write an 'a' plus a
number which defines the direction of the arrow. The
directions are the same that the ones in the numerical
keyboard, i.e., if you want to plot a green arrow
pointing to the left-bottom you will have to write the
string 'ga1' or 'a1g'.
I send the files for the version 0.82 of matplotlib (I
can not run properly the version 0.87 by now because I
have problems with colours and the axes(??!)). Here
are the diff outputs for the two files:
--- axes.py 2005-08-04 20:19:57.000000000 +0200
+++ axes_original.py 2005-06-15 20:50:44.000000000
+0200
@@ -89,30 +89,6 @@
if fmt.find('-.')>=0:
linestyle = '-.'
fmt = fmt.replace('-.', '')
- if fmt.find('a1')>=0:
- marker = 'a1'
- fmt = fmt.replace('a1', '')
- if fmt.find('a2')>=0:
- marker = 'a2'
- fmt = fmt.replace('a2', '')
- if fmt.find('a3')>=0:
- marker = 'a3'
- fmt = fmt.replace('a3', '')
- if fmt.find('a4')>=0:
- marker = 'a4'
- fmt = fmt.replace('a4', '')
- if fmt.find('a6')>=0:
- marker = 'a6'
- fmt = fmt.replace('a6', '')
- if fmt.find('a7')>=0:
- marker = 'a7'
- fmt = fmt.replace('a7', '')
- if fmt.find('a8')>=0:
- marker = 'a8'
- fmt = fmt.replace('a8', '')
- if fmt.find('a9')>=0:
- marker = 'a9'
- fmt = fmt.replace('a9', '')
chars = [c for c in fmt]
--- lines.py 2005-08-04 20:19:57.000000000
+0200
+++ lines_original.py 2005-06-15 00:21:21.000000000
+0200
@@ -27,8 +27,7 @@
lineStyles = {'-':1, '--':1, '-.':1, ':':1,
'steps':1, 'None':1}
lineMarkers = {'.':1, ',':1, 'o':1, '^':1, 'v':1,
'<':1, '>':1, 's':1,
'+':1, 'x':1, 'd':1, 'D':1, '|':1,
'_':1, 'h':1, 'H':1,
- 'p':1, '1':1, '2':1, '3':1, '4':1,
'a1':1, 'a2':1,
- 'a3':1, 'a4':1, 'a6':1, 'a7':1,
'a8':1, 'a9':1,
+ 'p':1, '1':1, '2':1, '3':1, '4':1,
TICKLEFT:1,
TICKRIGHT:1,
TICKUP:1,
@@ -109,14 +108,6 @@
'2' : '_draw_tri_up',
'3' : '_draw_tri_left',
'4' : '_draw_tri_right',
- 'a1' : '_draw_arrow_left_down',
- 'a2' : '_draw_arrow_down',
- 'a3' : '_draw_arrow_right_down',
- 'a4' : '_draw_arrow_left',
- 'a6' : '_draw_arrow_right',
- 'a7' : '_draw_arrow_left_up',
- 'a8' : '_draw_arrow_up',
- 'a9' : '_draw_arrow_right_up',
's' : '_draw_square',
'p' : '_draw_pentagon',
'h' : '_draw_hexagon1',
@@ -1136,139 +1127,6 @@
renderer.draw_line(gc, x-offset,
y-offset, x+offset, y+offset)
renderer.draw_line(gc, x-offset,
y+offset, x+offset, y-offset)
-#Empiezan mis 8 flechas
-
- def _draw_arrow_down(self, renderer, gc, xt, yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(0, +offset)
- path.line_to(0, -offset)
- path.line_to(-offset, 0)
- path.move_to(+offset, 0)
- path.line_to(0, -offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x, y+offset,
x, y-offset)
- renderer.draw_line(gc, x, y-offset,
x+offset, y)
- renderer.draw_line(gc, x, y-offset,
x-offset, y)
-
- def _draw_arrow_left_down(self, renderer, gc, xt,
yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(+offset, +offset)
- path.line_to(-offset, -offset)
- path.line_to(-offset, 0)
- path.move_to(0, -offset)
- path.line_to(-offset, -offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x+offset,
y+offset, x-offset, y-offset)
- renderer.draw_line(gc, x-offset,
y-offset, x-offset, y)
- renderer.draw_line(gc, x-offset,
y-offset, x, y-offset)
-
- def _draw_arrow_right_down(self, renderer, gc,
xt, yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(-offset, +offset)
- path.line_to(+offset, -offset)
- path.line_to(+offset, 0)
- path.move_to(0, -offset)
- path.line_to(+offset, -offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x-offset,
y+offset, x+offset, y-offset)
- renderer.draw_line(gc, x+offset,
y-offset, x+offset, y)
- renderer.draw_line(gc, x+offset,
y-offset, x, y-offset)
-
- def _draw_arrow_left(self, renderer, gc, xt, yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(+offset,0)
- path.line_to(-offset,0)
- path.line_to(0,+offset)
- path.move_to(-offset, 0)
- path.line_to(0, -offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x+offset, y,
x-offset, y)
- renderer.draw_line(gc, x-offset, y,
x, y+offset)
- renderer.draw_line(gc, x-offset, y,
x, y-offset)
-
- def _draw_arrow_right(self, renderer, gc, xt,
yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(-offset,0)
- path.line_to(+offset,0)
- path.line_to(0,+offset)
- path.move_to(+offset, 0)
- path.line_to(0, -offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x+offset, y,
x-offset, y)
- renderer.draw_line(gc, x+offset, y,
x, y+offset)
- renderer.draw_line(gc, x+offset, y,
x, y-offset)
-
- def _draw_arrow_left_up(self, renderer, gc, xt,
yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(+offset, -offset)
- path.line_to(-offset, +offset)
- path.line_to(-offset, 0)
- path.move_to(0, +offset)
- path.line_to(-offset, +offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x-offset,
y+offset, x+offset, y-offset)
- renderer.draw_line(gc, x-offset,
y+offset, x, y+offset)
- renderer.draw_line(gc, x-offset,
y+offset, x-offset, y)
-
- def _draw_arrow_up(self, renderer, gc, xt, yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(0, -offset)
- path.line_to(0, +offset)
- path.line_to(-offset, 0)
- path.move_to(+offset, 0)
- path.line_to(0, +offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x, y+offset,
x, y-offset)
- renderer.draw_line(gc, x, y+offset,
x+offset, y)
- renderer.draw_line(gc, x, y+offset,
x-offset, y)
-
- def _draw_arrow_right_up(self, renderer, gc, xt,
yt):
- offset =
0.5*renderer.points_to_pixels(self._markersize)
- if self._newstyle:
- path = agg.path_storage()
- path.move_to(-offset, -offset)
- path.line_to(+offset, +offset)
- path.line_to(+offset, 0)
- path.move_to(0, +offset)
- path.line_to(+offset, +offset)
- renderer.draw_markers(gc, path, None, xt,
yt, self._transform)
- else:
- for (x,y) in zip(xt, yt):
- renderer.draw_line(gc, x+offset,
y+offset, x-offset, y-offset)
- renderer.draw_line(gc, x+offset,
y+offset, x+offset, y)
- renderer.draw_line(gc, x+offset,
y+offset, x, y+offset)
-
-#Terminan mis 8 flechas
-
-
def update_from(self, other):
'copy properties from other to self'
Artist.update_from(self, other)
-------------------------------------
I think it would not be difficult to do something
similar for the last version. The shape of the arrows
can be improved to look better. This patch is only an
idea, the problem is to add new non-standard marker
names, if anyone knows a smart way of doing this it
would be apreciated. That's all.
Thank you for your fabulous module.
Pepe.
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
|
|
From: Jouni K S. <jk...@ik...> - 2006-04-26 15:03:44
|
Jouni K Seppanen <jk...@ik...> writes: > It apparently has to be font.load_char(ch, LOAD_NO_SCALE), or at least > that produces width values that look similar to those in files saved > by Preview.app. But acroread still complains... It seems that I can stop the complaining by forcing the /LastChar entry in the Font dictionary to be 255 instead of 258. The characters (in at least Bitstream Vera Sans) mysteriously seem to be numbered from 3 to 258, so I guess this must be some sort of an encoding issue. Does this ring a bell to anyone? -- Jouni |
|
From: John H. <jdh...@ac...> - 2006-04-26 13:40:05
|
>>>>> "Jouni" == Jouni K Seppanen <jk...@ik...> writes:
Jouni> John Hunter <jdh...@ac...> writes:
>> You shouldn't need to with the ft2font extension code, because
>> it uses pycxx which has support for kwarg handling. Eg in the
>> _image.cpp src
>>
>> Py::Object resize(const Py::Tuple& args, const Py::Dict&
>> kwargs);
Jouni> [...]
>> args.verify_length(2);
>>
>> int norm = 1; if ( kwargs.hasKey("norm") ) norm = Py::Int(
>> kwargs["norm"] );
Jouni> This seems to mean that the function cannot be called using
Jouni> the normal Python convention:
>>>> img.resize(10,10,1)
Jouni> Traceback (most recent call last): File "<stdin>", line
Jouni> 1, in ? IndexError: Unexpected SeqBase<T> length.
The reason it raises is because I told it too :-)
args.verify_length(2);
if you want normal python symantics, you could to something something
like (untested, freestyle code)
int norm(0);
if (args.length()==3)
norm = Py::Int( args[2] );
elif ( kwargs.hasKey("norm") )
norm = Py::Int( kwargs["norm"] );
Jouni> Instead you have to do img.resize(10,10,norm=1). This is
Jouni> handled transparently by PyArg_ParseTupleAndKeywords: if
Jouni> you set the format string to "ii|ii" and list the names of
Jouni> all parameters as keywords, you automatically get the
Jouni> normal Python convention where the last two args are
Jouni> optional and all args are specifiable with their names.
Jouni> But I guess this is not so important in extension code that
Jouni> only gets called by matplotlib internals and not end users,
Jouni> so I changed load_char to use the pycxx convention.
I do think it is useful in the pycxx extension code to stick where
possible to the cxx idioms -- for the most part the code is cleaner to
reads and helps with reference counting, etc.... You can check the
docs at
http://cxx.sourceforge.net/PyCXX.html
there may be a cleaner way to handle kwargs than what I suggested.
JDH
|
|
From: Jouni K S. <jk...@ik...> - 2006-04-26 10:06:12
|
John Hunter <jdh...@ac...> writes:
> You shouldn't need to with the ft2font extension code, because it uses
> pycxx which has support for kwarg handling. Eg in the _image.cpp src
>
> Py::Object resize(const Py::Tuple& args, const Py::Dict& kwargs);
[...]
> args.verify_length(2);
>
> int norm = 1;
> if ( kwargs.hasKey("norm") ) norm = Py::Int( kwargs["norm"] );
This seems to mean that the function cannot be called using the normal
Python convention:
>>> img.resize(10,10,1)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IndexError: Unexpected SeqBase<T> length.
Instead you have to do img.resize(10,10,norm=1). This is handled
transparently by PyArg_ParseTupleAndKeywords: if you set the format
string to "ii|ii" and list the names of all parameters as keywords,
you automatically get the normal Python convention where the last two
args are optional and all args are specifiable with their names.
But I guess this is not so important in extension code that only gets
called by matplotlib internals and not end users, so I changed
load_char to use the pycxx convention.
--
Jouni
|
|
From: John H. <jdh...@ac...> - 2006-04-25 20:15:55
|
>>>>> "Jouni" == Jouni K Seppanen <jk...@ik...> writes:
Jouni> I hacked the load_char method to accept a "flags" keyword
Jouni> parameter. I hope I didn't break anything; is it safe to
Jouni> use PyArg_ParseTupleAndKeywords with the C++ interface?
You shouldn't need to with the ft2font extension code, because it uses
pycxx which has support for kwarg handling. Eg in the _image.cpp src
Py::Object resize(const Py::Tuple& args, const Py::Dict& kwargs);
Py::Object
Image::resize(const Py::Tuple& args, const Py::Dict& kwargs) {
_VERBOSE("Image::resize");
args.verify_length(2);
int norm = 1;
if ( kwargs.hasKey("norm") ) norm = Py::Int( kwargs["norm"] );
double radius = 4.0;
if ( kwargs.hasKey("radius") ) radius = Py::Float( kwargs["radius"] );
//snip snip snip
}
so you can easily add kwarg handling by changing the declaration to
accept a Py::Dict and then use the object with dictionary like
semantics. In the init_type function, you'll need to declare your
method as a kwarg method, eg
add_keyword_method( "resize", &Image::resize, Image::resize__doc__);
JDH
|
|
From: Jouni K S. <jk...@ik...> - 2006-04-25 20:09:05
|
Jouni K Seppanen <jk...@ik...> writes: > what looks like a bigger problem is how to get the /Widths array > required by PDF. I've tried both the width and horiAdvance > properties of font.load_char(ch), and in either case Acrobat Reader > tells me the array is invalid. It apparently has to be font.load_char(ch, LOAD_NO_SCALE), or at least that produces width values that look similar to those in files saved by Preview.app. But acroread still complains... I hacked the load_char method to accept a "flags" keyword parameter. I hope I didn't break anything; is it safe to use PyArg_ParseTupleAndKeywords with the C++ interface? -- Jouni |
|
From: Darren D. <dd...@co...> - 2006-04-24 20:50:10
|
[This discussion somehow wandered onto matplotlib-user. I'm bringing it back over to the dev list.] On Monday 24 April 2006 16:30, Alan G Isaac wrote: > On Mon, 24 Apr 2006, Christopher Barker apparently wrote: > > I think it might use dvips or something to do that. rather than > > reading and rendering the DVI itself. > > That is not my understanding, > which however is limited. PyX does read dvi files. I'll bet they ported dvitype to do so (PyX distributes a script called dvitype.py.) > PS I have tried to reopen the discussion with the PyX > developers. I'll post any useful outcomes. Their webpage states that they would consider relicensing, but when I talked to them, they were unwilling to release under a BSD-compatible license. However, we dont need all of PyX to be relicensed, and I did not make that clear to the PyX authors. If they would consider relicensing a subset of their code, it would be extremely helpful. |
|
From: Darren D. <dd...@co...> - 2006-04-24 15:33:17
|
On Monday 24 April 2006 10:48, Jouni K Seppanen wrote: > Darren Dale <dd...@co...> writes: > > The basic approach is to extract the font layout information from the > > dvi files. LaTeX could be the only dependency. > > Great! Another possibly useful reference is > > http://www.tug.org/tex-archive/dviware/driv-standard/level-0/dvistd0.pdf > > and the documents in driv-standard/papers. dvi is apparently pretty > difficult to parse, as you have to implement a bytecode interpreter to > keep track of the state. Thanks Jouni, I was not aware of this document. There are some other packages in dviware that could serve as useful examples, like dvitops (there are a lot of GPL'd packages too, like dvisvgm and dvipdfmx. Too bad.) |
|
From: Jouni K S. <jk...@ik...> - 2006-04-24 14:50:30
|
Darren Dale <dd...@co...> writes: > The basic approach is to extract the font layout information from the > dvi files. LaTeX could be the only dependency. Great! Another possibly useful reference is http://www.tug.org/tex-archive/dviware/driv-standard/level-0/dvistd0.pdf and the documents in driv-standard/papers. dvi is apparently pretty difficult to parse, as you have to implement a bytecode interpreter to keep track of the state. -- Jouni |
|
From: John H. <jdh...@ac...> - 2006-04-24 13:36:06
|
>>>>> "Darren" == Darren Dale <dd...@co...> writes:
Darren> I also discovered that xdvi is OSS compliant, and have
Darren> started studying that source code as well. I only started
Darren> writing code to read the dvi information, but I post here
Darren> to allow people to comment if they are so inclined, and to
Darren> share the dvitype example with anyone who is interested. I
Darren> have compiled the tex file, converted it to pdf, and
Darren> posted the result at
Darren> http://staff.chess.cornell.edu/~dale/matplotlib/dvitype.pdf.
This is very good stuff Darren -- it would be really nice to have a
python interface to dvi files under a BSD compatible license.
matplotlib sitting on top of my two favorite runtimes: python and TeX.
I think it is a shame that a lot tools built on top of TeX (web2c,
pyx, ...) have a more restrictive license than TeX itself, so this
would be a very useful piece of code.
JDH
|
|
From: Ryan K. <rya...@gm...> - 2006-04-24 13:19:22
|
Thanks for doing this Darren. Keep up the good work! On 4/24/06, Darren Dale <dd...@co...> wrote: > This weekend I took the first small step towards improving usetex and > eliminating the need for PSFrag and dependencies like ghostscript. This i= s > necessary in order to provide usetex support accross backends (like pdf a= nd > svg). The basic approach is to extract the font layout information from t= he > dvi files. LaTeX could be the only dependency. > > Wikipedia has an article about the dvi specification: > http://en.wikipedia.org/wiki/DVI_file_format, which has a link to a reall= y > useful file called dvitype.web. This file contains the full dvi specifica= tion > and can be converted into a plain tex file using weave: > http://www.ctan.org/tex-archive/systems/knuth/texware/dvitype.web > > dvitype.web also contains a well documented pascal program illustrating h= ow to > read dvi files correctly and convert them into symbolic form. It was mean= t as > a guide to programmers developing dvi-related software. It includes a sec= tion > on extracting the necessary information from tfm files, and other issues > related to fonts. > > I also discovered that xdvi is OSS compliant, and have started studying t= hat > source code as well. I only started writing code to read the dvi informat= ion, > but I post here to allow people to comment if they are so inclined, and t= o > share the dvitype example with anyone who is interested. I have compiled = the > tex file, converted it to pdf, and posted the result at > http://staff.chess.cornell.edu/~dale/matplotlib/dvitype.pdf. > > Darren > > > ------------------------------------------------------- > 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 ea= sier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > |
|
From: Darren D. <dd...@co...> - 2006-04-24 13:04:54
|
This weekend I took the first small step towards improving usetex and eliminating the need for PSFrag and dependencies like ghostscript. This is necessary in order to provide usetex support accross backends (like pdf and svg). The basic approach is to extract the font layout information from the dvi files. LaTeX could be the only dependency. Wikipedia has an article about the dvi specification: http://en.wikipedia.org/wiki/DVI_file_format, which has a link to a really useful file called dvitype.web. This file contains the full dvi specification and can be converted into a plain tex file using weave: http://www.ctan.org/tex-archive/systems/knuth/texware/dvitype.web dvitype.web also contains a well documented pascal program illustrating how to read dvi files correctly and convert them into symbolic form. It was meant as a guide to programmers developing dvi-related software. It includes a section on extracting the necessary information from tfm files, and other issues related to fonts. I also discovered that xdvi is OSS compliant, and have started studying that source code as well. I only started writing code to read the dvi information, but I post here to allow people to comment if they are so inclined, and to share the dvitype example with anyone who is interested. I have compiled the tex file, converted it to pdf, and posted the result at http://staff.chess.cornell.edu/~dale/matplotlib/dvitype.pdf. Darren |
|
From: Chris W. <ch...@ch...> - 2006-04-23 17:36:07
|
The "What's new" webpage at http://matplotlib.sourceforge.net/whats_new.html starts with matplotlib 0.83 - but the latest download is 0.87.2 Has the change to svn caused this? Chris |