You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
| 2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
| 2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
| 2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
| 2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
| 2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
| 2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
| 2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
| 2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
| 2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
| 2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
| 2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
| 2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
| 2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <BD...@co...> - 2004-10-12 07:09:39
|
Hi, I have produced a figure and used 'fill' to plot regions in that figure. I wanted to place a legend for it, but when I tried it only the labels appeared - no coloured squares indicating the colours of the fills, as you get in Matlab. Is it possible to do this? I noticed in one of the example scripts that it works with a barchart. I would like to use it in the same way, but with 'fill's. Cheers, Brionie ============================================== "The information contained in this e-mail message may be confidential information, and may also be privileged. If you are not the intended recipient, any use, interference with, disclosure or copying of this material is unauthorised and prohibited. If you have received this message in error, please notify us by return email and delete the original message." |
|
From: Alexander S. <a.s...@gm...> - 2004-10-12 00:25:52
|
Hi,
First of all let me congratulate you[1] on your work on Matplotlib -- it so
evidently superior to all the other stuff around for python that it might
actually obviate the need for a little "universal" plotting frontend (anyplot
) as matplotlib is the first such package that would deserve to become a
de-facto standard for plotting in python.
Nonetheless, I've already written most of the foundations and I think it might
actually still be useful (currently e.g. matplotlib still is a bit difficult
to install, and whilst the CVS version apparently already has quite good
support for interactive plotting, at least some features such as good 3D
plotting will likely take longer; and matlab, which is fully supported as
backend for anyplot will likely maintain an edge for a number of plotting
tasks for the immediate future)[2].
To come to the point, recently I've invested a little bit of time to add
matplotlib support[3] and whilst I have been generally postively surprised [4]
both by the quality of the output as well as the ease to get things to work,
there are still a few comments and questions I have:
Here are some things that would be nice to see:
- AFAICT there is no equivalent to matlab's .fig internal format -- this
is quite a shame, one of the reasons I why I think a fairly simple
wrapper like anyplot should get one quite a long way is that I'd guess
that when excellent visual results are actually important then the
easiest way might well be to create some "templates" with the
gui/backend specific commands and use them as prototypes/style-sheets.
It should of course also be possible to query the underlying plotting
package and use it's unique functionality where required; there are a
few places in my code that do that for matlab but it's really not needed
often and thus doesn't hamper migrating to another backend much.
I'm planning to adding was some 'record'/'playback' functionality with a
metaclass i.e. some internal anyplot specific save-format that can be
used to recreate plots with any available backend -- but this is no full
substitute because it will only (portably) work for things supported by
all backends.
- gcf returns a figure handle -- it would be nice if there were some obvious
way to get back an integer instead -- I haven't found one yet
- the LaTeX rendering backend unfortunatly doesn't support any accents
(\hat{a},\bar{x} etc.); also for me the fact that it doesn't accept normal
text with $math$ inside happens to be quite a bother -- I can't imagine that
either of these would be hard to fix.
- colormap is rather limited in matlab compatibility -- it would be at
least having some of matlab's colormaps around as functions like `jet`.
- `ishold` and `spy` are amongst the functions that are missing but would
be quite easy to add -- ishold in particular would be very useful
(unlike with gcf I quickly found some way to query the hold-state, but
that interface might change and anyway it's a generally useful
facility).
- plot apparently doesn't know about the "*"-marker style -- this looks
like a mere oversight (I think all the other marker styles that matlab
has are supported)
- the plot command is much more restrictive in what it accepts as inputs;
``plot(x1,y2,'r', x2,y2, 'b')`` e.g. would be illegal. This isn't much
of a problem for me since I've written some code to "parse" plot
arguments, but I think it's a bit inconvenient. For anyplot I've added
some more options since I for example found I mainly wanted to use
several y-vectors against a single x it is also possible to do something
like e.g ``plot(y1, 'r', y2, 'g+', y3, ':', x='auto', norm=1,
log='x')``. OTOH I think it might be best to be conservative about
adding such features before one has a good idea what common use patterns
are likely to look like (convenience functions could provide a good
testbed for such ideas).
- something like axis('manual') would be nice (maybe under a more
descriptive name) otherwise it's inconvenient to add additional plots
into boundaries defined by some original plot that is of main interest.
Unfortunately axis is one of matlab's slightly more overloaded functions
-- in many of these cases one would think that python's more flexible
parameter passing syntax (keywords, inter alia) would allow better
signatures than what matlab's designers came up with (as far as I can
see matplotlib already makes quite a lot of use kwargs)
Generally anyplot stays closer to matlab in it's interface, but there
are two commands I found too ugly to follow suit exactly:
- matlab's ``text(x,y,[z], string)`` is ``anyplot.text(string, x,y,[z])``
Is there already a plan what matplotlib going to do about z coords for text,
once it supports 3D plots?
- `subplot` is just too bloody awkward -- so I deprecated it and instead
added a `multi` and `refocus` commands, here are the signatures::
def multi(self,rows,cols=1):
"""Create a multiplot with specified number of `rows` and `cols`. Use
`refocus` to access the desired cell. Supersedes `subplot`.
see: `refocus`
"""
def refocus(self,M=None,N=None):
"""Change focus to the desired subplot in a figure.
- ``refocus()``
focus on next multiplot cell (order: right-to-left,
top-to-down, 0 index)
- ``refocus(M)``
focuses on multiplot cell ``M`` (order: same as above)
- ``refocus(M,N)``
focuses on multiplot cell at row ``M``, column ``N``
see: `multi`
"""
I'd generally like to keep anyplot's interface the same as (or at least a
subset or superset of) matplotlib's where ever it makes sense, I'm not quite
convinced about `text` though (I'm not sure how useful z coords for text
really are, if they aren't used even with 3D plot passing them as a keyword,
unfortunately keywords are used to update the font dict; maybe a better
approach would be to use something like (ignoring details like the ordering of
coords and text for the moment)::
fontInfo = FontInfo(font='Helvetica', height=13, etc='...')
text(str1, x1, y1 font=fontInfo(height=10))
text(str2, x2, y2 font=fontInfo(color='red'))
instead of::
fontInfo = {'font': 'Helvetica', 'height': 13, etc:'...'}
text(str1, x1, y1 fontdict=fontInfo, height=10)
text(str2, x2, y2 fontdict=fontInfo, color='red')
because that doesn't scale so well (one no longer can simply add keywords args
for non font-info stuff).
Here `fontInfo` is some structure type that on call creates an updated *copy*.
I've found this quite useful for other things so I've got an implementation
handy: [5]
I'm also wondering how much the interface has already settled down? BTW, one
thing that would be nice is if any sequence dependent quirks (where
unavoidable) would be the same as in matlab, because that would be quite
difficult to work around in anyplot otherwise (e.g. the order of `title`,
`subplot` and `plot`, IIRC; some like the way plot interacts with logplots and
hold might be easier to work around -- I'm still not sure what the best
behavior ist does matplotlib have any fixed policy here already?).
Cheers,
'as
P.S. I will be off-line for about a month from tomorrow noon onwards, so please
excuse extreme reply latencies ;) -- I'm unlikely to read anything for
a month that posted after the next 10/12hrs.
P.P.S. For those who are curious about anyplot, my imminent long off-line
period finally gave me the push to try to package up all the
non-pre-alpha stuff I've created over the years and put it on a web
page in the hope it might be useful for other. Thus hopefully, by
tomorrow you anyplot and some other possibly useful stuff like my
high-level matlab-bridge can be found here:
http://www.dcs.ex.ac.uk/~aschmolc/
(In the possibly unlikely event that there's some code that would be
useful for matplotlib -- don't hestitate to take it, license issues
should be no problem)
P.P.S. A final note: wouldn't it be nicer to have some python-syntax rc file?
It can always be a safe subset if there are security concerns, but I'd
rather not have yet another limited and (difficult to extend)
config-file syntax.
Footnotes:
[1] you here refers to everyone who helped to rapidly transform matplotlib
into a the to be reckoned with, rather than the zillionth half-arsed and
bug-ridden plotting package to linger around for years without getting
anywhere -- first and foremost that credit must of course belong to John
Hunter.
[2] I started it because I became frustrated with the code disruption caused by
switching from one unsatisfactory python plotting package to the next I
started a little, as yet unreleased project some time ago that I dubbed
anyplot (after the now apparently defunct anygui project). The aim was to
provide a uniform and (esp. for interactive work) efficient frontend to a few
different promising backends, because
a) at the time it wasn't clear on what horse to bet (all of them lamed a bit,
and the ones that offered most functionality also seemed to suffer from the
most deeply ingrained problems).
b) Different plotting packages for python did different things well so it
seemed useful to easily be able to use specific backend for a certain task
without having to deal with code changes or memorzing N-interfaces; the
only one that did everything fairly well was matlab, via the high-level
python-matlab bridge I wrote, but even matlab often leaves something to be
desired and I didn't particularly want to be tied to it for eternity. For
the past 1.5 years or I've almost exclusively used anyplot with matlab as
backend for all my work, so that part should be fairly stable.
c) Moreover most had rather painful interfaces -- I wanted something that was
quick and convenient to use for interactive data exploration. I noticed
that the vast majority of the time I didn't need fancier capabilities (or
used the GUI to fine-tune the results), so I reckoned that providing a
convenient set would be a useful and manageable task, much more so than
what anypgui set out to do for GUIs. I also took matlab as a point of
departure, because it is familiar to many people, but also because despite
some baroqueness the interface is quite quick and efficient for common
tasks (unlike many of the interfaces that strive for OO-purity).
[3] apart from that, at the moment there's also some xplt support, xplt is
sufficiently dodgy that I won't invest much further time on this but it
provides a IMO saner interface to most of the functionality; there's also
some rather preliminary support for grace, which despite being somewhat
limited in the type of plots it offers seems to do a few things quite
well, is very fast and offers a fairly convenient gui; the only thing I'd
still be interested in additionally supporting would be gnuplot, although
some of gnuplots weirder limitations (e.g. line styles) would cause some
awkwardness -- the good thing about gnuplot, though, is that it supports
both 3D and 2D, zillions of output formats (including more exotic ones
like ascii, latex and vt100), that it is widespread and runs just about
on anything and finally that it won't go away anytime soon.
[4] Apart from the installation; I'm a bit spoilt as most libraries I want
under debian just takes seconds to instal -- I had some trouble with the
latest sources and eventually downloaded a debian package by hand from
somewhere because that seemed the only way to get it to work.
[5] Here's the code (obviously not all of this class are would be needed, but
it should give the idea; also note that it's very convenient to convert
to/from dicts):
class Struct(object):
r"""
Examples:
>>> brian = Struct(name="Brian", age=30)
>>> brian.name
'Brian'
>>> brian.age
30
>>> brian.life = "short"
>>> brian
Struct(age=30, life='short', name='Brian')
>>> del brian.life
>>> brian == Struct(name="Brian", age=30)
True
>>> brian != Struct(name="Jesus", age=30)
True
>>> len(brian)
2
Call the object to create a clone:
>>> brian() is not brian and brian(name="Jesus") == Struct(name="Jesus", age=30)
True
Conversion to/from dict:
>>> Struct(**dict(brian)) == brian
True
Evil Stuff:
>>> brian['name', 'age']
('Brian', 30)
>>> brian['name', 'age'] = None, None
>>> brian
Struct(age=None, name=None)
"""
def __init__(self,**kwargs):
self.__dict__.update(kwargs)
def __call__(self, **kwargs):
import copy
res = copy.copy(self)
res.__init__(**kwargs)
return res
def __eq__(self, other):
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self.__eq__(other)
def __len__(self):
return len([k for k in self.__dict__.iterkeys() if not (k.startswith('__') or k.endswith('__'))])
# FIXME utterly perverse and UNTESTED
def __getitem__(self, nameOrNames):
if isString(nameOrNames):
return self.__dict__[nameOrNames]
else:
return tuple([self.__dict__[n] for n in nameOrNames])
# FIXME utterly perverse and UNTESTED
def __setitem__(self, nameOrNames, valueOrValues):
if isString(nameOrNames):
self.__dict__[nameOrNames] = valueOrValues
else:
for (n,v) in zip(nameOrNames, valueOrValues):
self.__dict__[n] = v
def __contains__(self, key):
return key in self.__dict__ and not (key.startswith('__') or key.endswith('__'))
def __iter__(self):
for (k,v) in self.__dict__.iteritems():
if not (k.startswith('__') or k.endswith('__')):
yield k,v
def __repr__(self):
return mkRepr(self, **vars(self))
def mkRepr(instance, *argls, **kwargs):
width=79
maxIndent=15
minIndent=2
args = map(repr, argls) + ["%s=%r" % (k, v)
for (k,v) in ipsort(kwargs.items())]
if instance is not None:
start = "%s(" % instance.__class__.__name__
args[-1] += ")"
else:
start = ""
if len(start) <= maxIndent and len(start) + len(args[0]) <= width and \
max(map(len,args)) <= width: # XXX mag of last condition bit arbitrary
indent = len(start)
args[0] = start + args[0]
if sum(map(len, args)) + 2*(len(args) - 1) <= width:
return ", ".join(args)
else:
indent = minIndent
args[0] = start + "\n" + " " * indent + args[0]
return (",\n" + " " * indent).join(args)
|
|
From: John H. <jdh...@ac...> - 2004-10-11 13:52:18
|
>>>>> "Alan" == Alan G Isaac <ai...@am...> writes:
Alan> On Fri, 08 Oct 2004, John Hunter apparently wrote:
>> Could you send some example code when axis is used first with a
>> description of what looks wrong to you on the plot?
Alan> from scipy import * from matplotlib.matlab import *
Alan> days=arange(31) dp = 3 plot(days,dp*days,'ro') #produce a
Alan> zero axis axis([0,30,-40,100])
Alan> axhline(linewidth=0.5,color=(0,0,0)) show()
Alan> Version is 0.63. Ordered as above: axis is not honored.
Alan> Switch the order of axis() and axhline(), and all is well.
I see. Note this isn't specific to axhline. For example, in
from matplotlib.matlab import *
days=arange(31)
dp = 3
axis([0,30,-40,100])
plot(days,dp*days,'ro')
show()
the axis setting is also not obeyed because the plot command
autoscales the axes. FYI, I just tested this, and matlab behaves the
same way.
In general, I agree it would be nice in some cases to have sticky axis
limits. Probably the easiest and least intrusive way to do this would
be via a setting autoscale(False) or autoscale(True), and you could
set the default via rc. It would be easy in to check this setting in
the autoscale code before doing any work. It would be nice to be able
to access these settings in the axis or xlim/ylim commands
axis(rect, autoscale=False) # autoscaling is off for x and y axis
xlim(lim, autoscale=False) # autoscaling is off for x
and so on.
Whether this is sufficiently useful to justify coding it is an open
question.
JDH
|
|
From: John H. <jdh...@ac...> - 2004-10-11 13:33:58
|
>>>>> "Jean-Michel" == Jean-Michel Philippe <jea...@ir...> writes:
Jean-Michel> Perfect! This is exactly what I needed for one of my
Jean-Michel> apps.
Glad that worked for you.
>> But if you really want full control with no magic globals, I
>> suggest using the matplotlib API rather than the matlab
>> interface. Here is a minimal example with the SVG backend to
>> create a figure w/o the matlab interface
Jean-Michel> Well, what do you exactly mean by full control? The
Jean-Michel> fact that the figure is no more controlled by
Jean-Michel> matplotlib.matlab (as matlab does) but under my own
Jean-Michel> control? So that the application is now fully
Jean-Michel> responsible for displaying it?
Jean-Michel> NB: currently I'm targeting TkAgg.
What I mean is that is that if you want to explicitly control when
your figure windows are shown, you need to use the matplotlib API, and
example of which for tkagg is at
http://matplotlib.sf.net/examples/embedding_in_tk.py. In this case,
you explicitly make the calls to show or hide your window when you
want. If you use the matlab interface, you are constrained either to
1) if interactive is False, show all of your figures at the end of the
script when you call show or 2) if interactive is True, show all your
windows at the time of their creation.
Actually, you may have a 3rd (untested, unsupported) option with the
matlab interface. Thanks to the changes Fernando and I introduced to
support ipython, I believe as of matplotlib 0.62 it is safe to call
show repeatedly without blocking script execution. You may want to
test this and report back.
Jean-Michel> I'm afraid I don't understand why this should remove
Jean-Michel> "magic" globals, I feel some globals are still
Jean-Michel> required...
Some people do not like to use the matlab interface because it manages
the current figure and axes for them, behind the scenes. Eg when you
type plot(x,y), the plot command is sent to the current figure and
axes, as in matlab, which are stored as "global" (actually module
level) variables in matplotlib.matlab. In the matplotlib API, you
have to explicitly instantiate the figure and axes, and direct your
plotting, saving, etc commands to these instances, as in
from matplotlib.numerix import arange, sin, pi
from matplotlib.figure import Figure
f = Figure(figsize=(5,4), dpi=100)
a = f.add_subplot(111)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)
In a complex, nested application or script, it is sometimes nice to
have this extra degree of clarity.
Hope this helps,
JDH
|
|
From: Jean-Michel P. <jea...@ir...> - 2004-10-11 08:17:37
|
jdh...@ac... wrote: > In 0.63, we introduced a flag on the > matplotlib.backends.draw_if_interactive function. If I must say I'm really impressed how fast matplotlib gets improved! > Eg , at the end of your script > > if draw_if_interactive._called: show() > > Note if you are using a pure image backend (eg agg, svg, ps) you do > not need show at all; this is for GUI backends only. Just call > savefig anywhere in your code. Perfect! This is exactly what I needed for one of my apps. > But if you really want full control with no magic globals, I suggest > using the matplotlib API rather than the matlab interface. Here is a > minimal example with the SVG backend to create a figure w/o the matlab > interface Well, what do you exactly mean by full control? The fact that the figure is no more controlled by matplotlib.matlab (as matlab does) but under my own control? So that the application is now fully responsible for displaying it? I'm afraid I don't understand why this should remove "magic" globals, I feel some globals are still required... NB: currently I'm targeting TkAgg. JM. Philippe |
|
From: Todd M. <jm...@st...> - 2004-10-11 00:29:56
|
On Sun, 2004-10-10 at 15:47, Darren Dale wrote: > Hello, > > I am getting invalid numeric result exceptions when dividing a complex array > by zero. Is this the desired behavior? This is what I would have expected, and examining the definition I have for complex division in numarray/Include/numarray/numcomplex.h, I don't see a problem. The definition should probably be checked by an extra set of eyes. Looks OK to me. > Also, while trying to find a way around the above problem, I ran > ieeespecial.test and got the following output. I am running numarray 1.1 on > python 2.3.3. Todd, this might be correlated with the numerix package in > matplotlib. I tried importing numarray and ieeespecial without matplotlib and > the ieeespecial.test was successful. > I tried this with an ordinary Python shell and ieeespecial.test() completed without errors. Looking at your test output, I noticed it was skewed, and guessed there was an I/O synchronization issue messing up doctest. I tried the same test under IPython w/o matplotlib and duplicated your results, so I think the problem is an IPython/doctest issue. Regards, Todd > Thanks, > > Darren > > > In [31]: ieeespecial.test() > Out[31]: inf > ***************************************************************** > Failure in example: > inf # the repr() of inf may vary from platform to platform > from line #6 of numarray.ieeespecial > Expected: inf > Got: > Out[31]: nan > ***************************************************************** > Failure in example: > nan # the repr() of nan may vary from platform to platform > from line #8 of numarray.ieeespecial > Expected: nan > Got: > Out[31]: (array([0, 2]), array([0, 3])) > ***************************************************************** > Failure in example: getinf(b) > from line #20 of numarray.ieeespecial > Expected: (array([0, 2]), array([0, 3])) > Got: > Out[31]: > array([[ 999., 1., 2., 3.], > [ 4., 5., 6., 7.], > [ 8., 9., 10., 999.], > [ 12., 13., 14., 15.]]) > ***************************************************************** > Failure in example: a > from line #26 of numarray.ieeespecial > Expected: > array([[ 999., 1., 2., 3.], > [ 4., 5., 6., 7.], > [ 8., 9., 10., 999.], > [ 12., 13., 14., 15.]]) > Got: > Out[31]: (array([0, 1, 2]), array([1, 2, 3])) > ***************************************************************** > Failure in example: getnan(a) > from line #35 of numarray.ieeespecial > Expected: (array([0, 1, 2]), array([1, 2, 3])) > Got: > ***************************************************************** > 1 items had failures: > 5 of 11 in numarray.ieeespecial > ***Test Failed*** 5 failures. > Out[31]: (5, 11) -- |
|
From: Darren D. <dd...@co...> - 2004-10-10 19:47:26
|
Hello,
I am getting invalid numeric result exceptions when dividing a complex array
by zero. Is this the desired behavior?
Also, while trying to find a way around the above problem, I ran
ieeespecial.test and got the following output. I am running numarray 1.1 on
python 2.3.3. Todd, this might be correlated with the numerix package in
matplotlib. I tried importing numarray and ieeespecial without matplotlib and
the ieeespecial.test was successful.
Thanks,
Darren
In [31]: ieeespecial.test()
Out[31]: inf
*****************************************************************
Failure in example:
inf # the repr() of inf may vary from platform to platform
from line #6 of numarray.ieeespecial
Expected: inf
Got:
Out[31]: nan
*****************************************************************
Failure in example:
nan # the repr() of nan may vary from platform to platform
from line #8 of numarray.ieeespecial
Expected: nan
Got:
Out[31]: (array([0, 2]), array([0, 3]))
*****************************************************************
Failure in example: getinf(b)
from line #20 of numarray.ieeespecial
Expected: (array([0, 2]), array([0, 3]))
Got:
Out[31]:
array([[ 999., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 999.],
[ 12., 13., 14., 15.]])
*****************************************************************
Failure in example: a
from line #26 of numarray.ieeespecial
Expected:
array([[ 999., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 999.],
[ 12., 13., 14., 15.]])
Got:
Out[31]: (array([0, 1, 2]), array([1, 2, 3]))
*****************************************************************
Failure in example: getnan(a)
from line #35 of numarray.ieeespecial
Expected: (array([0, 1, 2]), array([1, 2, 3]))
Got:
*****************************************************************
1 items had failures:
5 of 11 in numarray.ieeespecial
***Test Failed*** 5 failures.
Out[31]: (5, 11)
--
Darren
|
|
From: Alan G I. <ai...@am...> - 2004-10-08 21:39:04
|
On Fri, 08 Oct 2004, John Hunter apparently wrote: > Could you send some example code when axis is used first with a > description of what looks wrong to you on the plot? from scipy import * from matplotlib.matlab import * days=arange(31) dp = 3 plot(days,dp*days,'ro') #produce a zero axis axis([0,30,-40,100]) axhline(linewidth=0.5,color=(0,0,0)) show() Version is 0.63. Ordered as above: axis is not honored. Switch the order of axis() and axhline(), and all is well. Hope that's clear. Cheers, Alan |
|
From: John H. <jdh...@ac...> - 2004-10-08 19:33:46
|
>>>>> "Alan" == Alan G Isaac <ai...@am...> writes:
Alan> Unless I send this when I notice it, I'll forget to send it.
Alan> But I'm not so cold hearted as to hope for any response from
Alan> John during the early weeks of fatherhood!
No worries - these babies sleep like mad. I get a few minutes a day
to catch up.
Alan> If a plot makes use of both axhline() and axis(), then
Alan> axis() must come last or the results are not as expected.
Alan> Actually I have found it often desirable for axis to come
Alan> last, but I will simply raise the question of whether this
Alan> need---possibly surprising to a new user---might be
Alan> transcended.
Could you send some example code when axis is used first with a
description of what looks wrong to you on the plot?
JDH
|
|
From: Yann Le Du <yan...@no...> - 2004-10-08 15:22:56
|
On Fri, 8 Oct 2004, John Hunter wrote: > >>>>> "Yann" == Yann Le Du <yan...@no...> writes: > > Yann> Hello again, I found the solution : in file transforms.py I > Yann> changed the lines 181-183 by replacing : > > Yann> from _transforms import ... > > It looks like your matplotlib directory is out of whack. You should > remove the entire build tree and start over. In matplotlib-0.63, > _transforms.so does not exist; it is replaced by > _lib/matplotlib/_transforms.py, which imports either the _na or _nc > version. > > So even though you got it to work, that you had a problem at all > indicates your src directory is messed up, and so I advise you to get > a clean start. Yes indeed, I've removed my site-packages/matplotlib directory and reinstalled, and it works fine ! I found it strange to be the only one with that problem, but in fact it's just because others keep things tidier than I do... Thanks, -- Yann Le Du http://www-thphys.physics.ox.ac.uk/users/YannLeDu |
|
From: John H. <jdh...@ac...> - 2004-10-08 14:38:38
|
>>>>> "Jean-Michel" == Jean-Michel Philippe <jea...@ir...> writes:
Jean-Michel> Ok. Now suppose you write an application that runs a
Jean-Michel> set of algorithms not known in advance. These
Jean-Michel> algorithms may or may not create figures depending on
Jean-Michel> what they perform; they may also encounter
Jean-Michel> difficulties (e.g. not enough input data) so that
Jean-Michel> none of them is finally able to create a figure. As
Jean-Michel> this is always better to dissociate code pieces the
Jean-Michel> more as possible, I'd prefer not to use a global
Jean-Michel> variable to trace figure creation. So is there a way
Jean-Michel> to know that no figure was created?
In 0.63, we introduced a flag on the
matplotlib.backends.draw_if_interactive function. If
draw_if_interactive._called is False, the function was never called
and thus no plotting commands were issued. You may be able to use
this to decide whether to call show or not.
Eg , at the end of your script
if draw_if_interactive._called: show()
Note if you are using a pure image backend (eg agg, svg, ps) you do
not need show at all; this is for GUI backends only. Just call
savefig anywhere in your code.
But if you really want full control with no magic globals, I suggest
using the matplotlib API rather than the matlab interface. Here is a
minimal example with the SVG backend to create a figure w/o the matlab
interface
from matplotlib.backends.backend_svg import FigureCanvasSVG
from matplotlib.figure import Figure
fig = Figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3])
canvas = FigureCanvasSVG(fig)
canvas.print_figure('myfile.svg')
There are several examples called embedding_in_*.py at
http://matplotlib.sf.net/examples that show how to do this for your
GUI of choice.
Let me know if you need more help; and be sure to tell which backend
you are targetting.
JDH
|
|
From: John H. <jdh...@ac...> - 2004-10-08 14:23:43
|
>>>>> "Stephen" == Stephen Walton <ste...@cs...> writes:
Stephen> On Tue, 2004-10-05 at 09:30, Wasinee Rungsarityotin
Stephen> wrote:
>> src/_na_image.cpp:780: `png_infopp_NULL' undeclared (first use
>> this function)
Stephen> On my system this is defined in /usr/include/png.h, part
Stephen> of libpng version 1.2.5. -- Stephen Walton
Stephen> <ste...@cs...> Dept. of Physics & Astronomy,
Stephen> Cal State Northridge
I second this - it looks like it may be a libpng version problem. Off
the top of my head, I don't know what the minimum libpng version
requirement is, but if 1.2.5 is working for Stephen, I suggest
installing that or later.
JDH
|
|
From: John H. <jdh...@ac...> - 2004-10-08 14:21:10
|
>>>>> "Yann" == Yann Le Du <yan...@no...> writes:
Yann> Hello again, I found the solution : in file transforms.py I
Yann> changed the lines 181-183 by replacing :
Yann> from _transforms import ...
It looks like your matplotlib directory is out of whack. You should
remove the entire build tree and start over. In matplotlib-0.63,
_transforms.so does not exist; it is replaced by
_lib/matplotlib/_transforms.py, which imports either the _na or _nc
version.
So even though you got it to work, that you had a problem at all
indicates your src directory is messed up, and so I advise you to get
a clean start.
JDH
|
|
From: Alan G I. <ai...@am...> - 2004-10-07 19:43:58
|
Unless I send this when I notice it, I'll forget to send it. But I'm not so cold hearted as to hope for any response from John during the early weeks of fatherhood! If a plot makes use of both axhline() and axis(), then axis() must come last or the results are not as expected. Actually I have found it often desirable for axis to come last, but I will simply raise the question of whether this need---possibly surprising to a new user---might be transcended. fwiw, Alan Isaac PS Best wishes to John in his newest and most creative endeavor. |
|
From: Yann Le Du <yan...@no...> - 2004-10-07 14:08:22
|
Hello again, I found the solution : in file transforms.py I changed the lines 181-183 by replacing : from _transforms import ... with : from _nc_transforms import ... The file _transforms.so is apparently not built, only the _nc_ and _na_ versions are built. Note that is also works with : from _na_transforms import ... Yann Le Du |
|
From: LUK S. <shu...@po...> - 2004-10-07 05:47:22
|
John Hunter wrote: > from tempfile import mktemp > from urllib import urlretrieve > from matplotlib.matlab import * > > url = 'http://matplotlib.sf.net/clara.png' > fname = mktemp('.png') > print 'Downloading image; this may take a minute...' > urlretrieve(url, fname) > > figure(figsize=(8,6)) > im = imread(fname) > imshow(im) > axis('off') > title('Clara Charlotte Hunter, born 10/2/2004') > show() > It didn't work OTOB with my rather old matplotlib and it gave me a good reason to upgrade. :-) Congratulations and best wishes for the whole family! ST -- |
|
From: Chris B. <Chr...@no...> - 2004-10-06 16:11:39
|
Leo Budd wrote:
> Today I tried to install matplotlib, first downloading
> matplotlib-0.63.4.tar.gz, then "gunzip matplotlib-0.63.4.tar.gz", then "tar
> -vxf matplotlib-0.63.4.tar", then I don't know what to do.
>
> I tried "python setup.py build", but got the following error:
>
> Traceback (most recent call last):
> File "setup.py", line 39, in ?
> VERBOSE = False # insert lots of diagnostic prints in extension code
> NameError: name 'False' is not defined
False was introduced in a recent version of Python (2.2 maybe). You must
be running an older python. just run:
python
and you'll see what version it is in the startup message.
If you have multiple versions installed, try:
python2.3 setup.py build
If not, get and install 2.3, and then try again. What system is this?
if you're not sure, try:
locate "*/bin/*python*"
If your locate db is up to date, you should get a few options.
What OS/distro/version are you running?
-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: Matt N. <new...@ca...> - 2004-10-06 16:09:57
|
Leo, > Traceback (most recent call last): > File "setup.py", line 39, in ? > VERBOSE = False # insert lots of diagnostic prints in extension code > NameError: name 'False' is not defined Matplotlib 0.63.4 requires python 2.3. It sounds like you have an earlier version of python that doesn't recognize False (I think this was introduced for python2.2, but I'm not certain). > This is a shared linux web server, I am not root, I want to > install matplotlib under my login directory, and be able to draw > stock charts with OHLC (Open High Low Close) as well as volume > on a second x-axis. You need python2.3. You could either convince the admin to install this or install a private copy of python2.3 in your own directory. --Matt |
|
From: Yann Le Du <yan...@no...> - 2004-10-06 14:15:46
|
Hello,
I've installed the latest matplotlib (27 september) and when I try to do :
from matplotlib.matlab import *
I get this :
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.3/site-packages/matplotlib/matlab.py", line 160,
in ?
from axes import Axes
File "/usr/lib/python2.3/site-packages/matplotlib/axes.py", line 9, in ?
from artist import Artist
File "/usr/lib/python2.3/site-packages/matplotlib/artist.py", line 4, in
?
from transforms import identity_transform
File "/usr/lib/python2.3/site-packages/matplotlib/transforms.py", line
182, in ?
from _transforms import IDENTITY, LOG10, Func, FuncXY, PolarXY
ImportError: cannot import name IDENTITY
YLD
|
|
From: <ga...@op...> - 2004-10-06 03:04:50
|
I have an application that uses matplotlib running on windows xp. The wxpython scripts run OK, and the scripts compile to an exe OK. There are lots of "missing Modules" but the FAQ says to ignore these. On running the exe I get the message : "This application has requested the runtime to terminate it in an = unusual way". Can anyone help please ? Regards Gary |
|
From: Leo B. <leo...@ya...> - 2004-10-06 02:59:45
|
Today I tried to install matplotlib, first downloading
matplotlib-0.63.4.tar.gz, then "gunzip matplotlib-0.63.4.tar.gz", then "tar
-vxf matplotlib-0.63.4.tar", then I don't know what to do.
I tried "python setup.py build", but got the following error:
Traceback (most recent call last):
File "setup.py", line 39, in ?
VERBOSE = False # insert lots of diagnostic prints in extension code
NameError: name 'False' is not defined
I also tried "setup.py", and "make -f Makefile" but without any success.
Which command I should use to install matploylib?
This is a shared linux web server, I am not root, I want to install matplotlib
under my login directory, and be able to draw stock charts with OHLC (Open High
Low Close) as well as volume on a second x-axis.
Leo
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
|
|
From: Gary R. <ga...@em...> - 2004-10-06 00:37:32
|
> congrats, John, but if my experience is any indication, we'll see a=20 > slowing in matplotlib progress. At least we know why! >=20 > -Chris I was thinking exactly the same thing. I think we can also now expect new= graphs in cvs examples of weight versus time, hours slept per night etc. Congratulations from me too John, regards, Gary R. --=20 ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm |
|
From: Jim B. <jb...@se...> - 2004-10-05 23:56:53
|
Congratulations to you and Ms. Hunter! Jim On Tue, 5 Oct 2004, John Hunter wrote: > > from tempfile import mktemp > from urllib import urlretrieve > from matplotlib.matlab import * > > url = 'http://matplotlib.sf.net/clara.png' > fname = mktemp('.png') > print 'Downloading image; this may take a minute...' > urlretrieve(url, fname) > > figure(figsize=(8,6)) > im = imread(fname) > imshow(im) > axis('off') > title('Clara Charlotte Hunter, born 10/2/2004') > show() > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Dr. James A. Benson United States Naval Observatory Navy Prototype Optical Interferometer Flagstaff, AZ 86001 Email: jb...@no... jb...@se... Voice: 928-773-4868/928-779-5132 Fax: 928-779-9568 |
|
From: Barry D. <bl...@ad...> - 2004-10-05 22:42:34
|
John, Congratulations! She's beautiful. Barry Drake --- John Hunter wrote: > > from tempfile import mktemp > from urllib import urlretrieve > from matplotlib.matlab import * > > url = 'http://matplotlib.sf.net/clara.png' > fname = mktemp('.png') > print 'Downloading image; this may take a minute...' > urlretrieve(url, fname) > > figure(figsize=(8,6)) > im = imread(fname) > imshow(im) > axis('off') > title('Clara Charlotte Hunter, born 10/2/2004') > show() > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide > on ITManagersJournal > Use IT products in your business? Tell us what you > think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! > Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Paul B. <ba...@st...> - 2004-10-05 21:17:47
|
matplotlib is truely amazing. Is this patch for creating babies in CVS? Congradulations. John Hunter wrote: > from tempfile import mktemp > from urllib import urlretrieve > from matplotlib.matlab import * > > url = 'http://matplotlib.sf.net/clara.png' > fname = mktemp('.png') > print 'Downloading image; this may take a minute...' > urlretrieve(url, fname) > > figure(figsize=(8,6)) > im = imread(fname) > imshow(im) > axis('off') > title('Clara Charlotte Hunter, born 10/2/2004') > show() > -- Paul Barrett, PhD Space Telescope Science Institute Phone: 410-338-4475 ESS/Science Software Branch FAX: 410-338-4767 Baltimore, MD 21218 |