Re: [Matplotlib-users] putting "persistent" lines on figures

2006-12-08 Thread Eric Firing
belinda thom wrote:
> Hi,
> 
> I could've sworn I recently read about how to draw a line on a plot  
> in such a way that you see it regardless of what the axis ranges are.

If you need horizontal or vertical lines specified in normalized 
coordinates (0 to 1 spans the axes) then you can use the Axes.axhline() 
and Axes.axvline() methods or their pylab function counterparts.  There 
are also methods for specifying the length of the line in normalized 
coordinates and the position in data coordinates: axhspan() and 
axvspan().  See examples/axhspan.py for examples of both types using the 
pylab interface.

Eric

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] obtaining version info

2006-12-08 Thread Eric Firing
Alan G Isaac wrote:
> I assume there must be a reason for this::
> 
> >>> import pylab
> >>> pylab.__version__
> Traceback (most recent call last):
>   File "", line 1, in 
> AttributeError: 'module' object has no attribute '__version__'
> 
> That has always bothered me.
> But of course you can::
> 
> >>> import matplotlib
> >>> matplotlib.__version__
> '0.87.7'

After a little experimentation I have tentatively concluded that 
__version__ only gets imported if it is a package attribute--that is, if 
it is defined in __init__.py.  Matplotlib is a package but pylab is just 
a module, so it does not seem to be possible to give it matplotlib's 
__version__.  I could not find anything in the python documentation 
about this, though.

Eric

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] putting "persistent" lines on figures

2006-12-08 Thread belinda thom
Hi,

I could've sworn I recently read about how to draw a line on a plot  
in such a way that you see it regardless of what the axis ranges are.

Now that I need it, I can't find it anywhere. I'm not even sure what  
to search for.

I suspect this is really trivial and hope some more advanced users  
can enlighten me.

Thanks,
--b

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] out-dated documentation

2006-12-08 Thread belinda thom
Hello,

Regarding http://matplotlib.sourceforge.net/installing.html, there is  
some unreliable info.

In particular, under the OS X topic,

"Robery Kern has built an all-in-one installer which includes scipy,  
Numeric, numarray, matplotlib, ipython, VTK, MayaVi, PIL, the  
enthought tool suite and much more; see >MacEnthon."

should be removed.

Whoever maintains this page should make the appropriate change.

On Dec 6, 2006, at 11:38 PM, Robert Kern wrote:

> belinda thom wrote:
>> I do not want to compile code myself unless absolutely necessary. I
>> was wondering what was up with the "MacEnton" suite; clicking on the
>> link described at the above web page informs me that the "MacEnthon"
>> page does not exist.
>
> Umm, ignore it. It targetted a now-old Python distribution, and I  
> don't have
> time to update it anymore. References recommending it should be  
> removed.
>
> -- 
> Robert Kern



-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Cocoa NSView and IB Palette for embedding Matplotlib figures

2006-12-08 Thread Barry Wark
In the process of creating a Cocoa app for scientific data
acquisition, I've built an NSImageView subclass that displays an MPL
figure in the Cocoa NSView hierarchy. It's based on the CocoaAgg
backend code in MPL. There are also some subclasses that allow the use
of Cocoa Bindings to supply the data, axis labels, and units for the
figure. Finally, I've created an IB palette for adding one of the
PlotView subclasses to a Cocoa app and setting its bindings in
Interface Builder.

For plotting data passed via NSData instances is converted to a numpy
array via numpy.frombuffer using the PlotView's .dtype parameter as
the array dtype (see the source for DataPlotView in PlotView.py).

I think the ability to have such a powerful plotting library available
from Cocoa with so few lines of code illustrates the huge power of the
combination of Cocoa, PyObjC, and the many good Python libraries such
as MPL.

CocoaMPLPlotView requires PyObjc, numpy, and matplotlib.

You can download a copy of the CocoaMPLPlotView and
CocoaMPLPlotViewPalette source from
http://fairhall-lab.physiol.washington.edu/~bwark/mpl/.

I don't have time to provide support for these, but would love to hear
if anyone finds them useful. Obviously if you have comments, bugs, or
patches, I'd love to hear those as well. Happy coding.

Thanks,
Barry

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] zorder of legend

2006-12-08 Thread Gary Ruben
Sorry John,

I see this was fixed a while ago - I was still using 0.87.3 from the 
last Enthought edition. Now that there's a scipy installer, I should 
upgrade numpy/scipy/mpl to something more current.

Gary R.

Gary Ruben wrote:
> While I think of it, I think the default zorder of legends should be 
> bigger so that, by default it overlays all plot lines and symbols.
> 
> Gary R.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] obtaining version info

2006-12-08 Thread Alan G Isaac
I assume there must be a reason for this::

>>> import pylab
>>> pylab.__version__
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'module' object has no attribute '__version__'

That has always bothered me.
But of course you can::

>>> import matplotlib
>>> matplotlib.__version__
'0.87.7'

hth,
Alan Isaac






-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] obtaining version info

2006-12-08 Thread Josh Lifton
I didn't see it either.  For questions like this, I recommend heading to
the #python channel on irc.freenode.net.  If you find out how, please
post.

josh

On Fri, 8 Dec 2006, belinda thom wrote:

> Hi,
>
> Perhaps I'm missing something really basic, but I can't figure out
> how to query pylab as to what version it is (the usual import ,
> .__version doesn't work).
>
> Advice appreciated.
>
> --b
>
> -
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> ___
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] obtaining version info

2006-12-08 Thread belinda thom
Hi,

Perhaps I'm missing something really basic, but I can't figure out  
how to query pylab as to what version it is (the usual import ,  
.__version doesn't work).

Advice appreciated.

--b

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] more outdated/unhelpful documentation and installation issues on Mac OS X 10.4

2006-12-08 Thread belinda thom
Hi again,

At http://matplotlib.sourceforge.net/installing.html under topic OS X:

   "All of the backends run on OS X. Chris Barker has built a binary  
package (fink users see below) for matplotlib which is hosted on  
pythonmac, and works with Agg, Wx and Tk; see the step-by-step  
instructions kindly provided by Michael Tobis."

note that the step-by-step link leads to:

   Under revision. Please come back soon.

--

It is because I've had some installation troubles that I have been  
looking at the OS X install info so closely.

For instance: originally I tried to use macports for all python site- 
packages-related installs (as well as using their python24). The ONLY  
backend that seems to work thru that route is WxAgg (http:// 
howdy.physics.nyu.edu/index.php/Numpy_For_Mac_Using_MacPython  
corroborates this). I was able to achieve results w/backend WxAgg and  
numerix Numeric. However, when I tried to change the toolbar to  
classic, WxAgg crapped out.

W/MacPorts, I've been able to get the TkAgg backend to work, but  
_NOT_ with numerix set to Numeric. Success was only achieved w/TkAgg  
when numerix was set to Numpy. When I try the WXAgg backend (along w/ 
the pythonmac 2.6.3.3 wxPython dmg for python 2.4), a simple plot 
([1,2,3]) craps out with:

exceptions.MemoryError   Traceback (most  
recent call last)

---> 63 self.bitmap = _convert_agg_to_wx_bitmap 
(self.get_renderer(), None)
  64 if repaint:
  65 self.gui_repaint()

MemoryError: _wxagg.convert_agg_to_wx_bitmap(): could not create the  
wx.Bitmap



-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Merge colorbars from imshow and contour

2006-12-08 Thread Eric Firing
Yannick Copin wrote:
> Hi,
> 
> in a case similar to matplotlib-0.87.7/examples/contour_demo.py (figure 
> 4), would it be possible to merge to two colorbars (a continuous one 
> from imshow, a discrete one from contour) into a single colorbar? 
> Indeed, in that case, the two colorbars are mostly redundant.
> 
> Cheers.

Yes, lines can be superimposed on a continuous colorbar.  The demo is 
not ideal; I was mainly showing that one could use two colorbars for two 
different things.  I have changed the contourf_demo.py in svn to include 
an example of a merged colorbar.  Maybe I will change contour_demo.py 
later to make it an illustration of having colorbars for completely 
different fields, so it won't look so pointless as it does now.

Eric

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Different contours in contour and contourf

2006-12-08 Thread Eric Firing
Yannick Copin wrote:
> Hi,
> 
> running the simple test code:
> 
> from pylab import *
> X, Y = meshgrid(linspace(-3,3,11),linspace(-3,3,11))
> Z = randn(*X.shape)
> lev = linspace(Z.min(),Z.max(),11)[1:-1]
> contourf(X,Y,Z, lev, extend='both')
> contour(X,Y,Z, lev, colors='k')
> show()
> 
> you will probably notice that the 'contourf' contours are not always 
> exactly the sames as the 'contour' contours. Why is it so? Don't contour 
> and contourf use the same contour constructor?

The same overall routine is used for contour as for contourf, but the 
contour tracing operation is not identical.  Tracing a filled contour is 
much more complicated--that is probably why it is so hard to find filled 
contour routines.  I suspect that whoever wrote the original code we are 
using wrote the line contour version first, then had to add quite a bit 
of logic and code to get it to make filled contours.

Now, you may be wondering why we can't simply use the boundary of the 
filled regions for the lines as well, to guarantee they are the same. 
The reason is that filled contour boundaries include cuts connecting 
inner and outer contours, and also inner boundaries (edges of masked 
regions--except when affected by a bug) and the outer boundaries of the 
domain).  It might be possible to simply exclude those line segments 
from the line contours, but it is not clear to me that the effort would 
be well-spent.

I think that the differences illustrated in your example will occur 
almost entirely in pathologically ambiguous cases, but it is also 
possible that they reflect actual bugs or shortcomings of the algorithms 
used.  Understanding the logic and tracing the code path in the present 
cntr.c is difficult; I have tried but failed to figure out and correct 
the interior masked region bug in contourf.  If a better core contour 
routine with a suitable license could be found and substituted for the 
present one, that would be very nice.  I have searched many times 
without turning anything up.

Eric

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] clip_on bug? and 2nd-axis label question

2006-12-08 Thread Dave

In past work I have not been able to get clipping to behave as I expected.
Today I was trying to understand how to add a right-axis label and was using
an example from the matplotlib site that set clip_on=False.  It did not
work.  In looking at the code in method text() it appears that it checks for
the existance of clip_on and not the value.  So clip_on=False results in
clipping but not specifying clip_on does not.  Is this understanding correct
and is it the intended behavior?  If so, I can't see how the example could
have worked.

Also is there a standard, easy way to get a 2nd (right) axis label and ticks
or does it have to be done manually?  I found only the one example on the
screenshots page where it is done with several text() method calls.

-- David
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] giving parameters to func when using events

2006-12-08 Thread John Hunter
> "Martin" == Martin Richter <[EMAIL PROTECTED]> writes:

Martin> My question now is: Is there a way to avoid using global
Martin> variables but also avoid an object-oriented programming?
Martin> In other words: Is it possible to pass e.g. a dictionary
Martin> containing some information to the function called by the
Martin> event? The reason for not wanting the object-oriented way
Martin> is: We want to teach something to students who never
Martin> programmed before. And to them it would be pretty hard if
Martin> we start everything object-oriented!


The can use attrs on the function

def two_parts(event):
if event.button == 3:
two_parts.program_part = two_parts.program_part%2 + 1
print " Changed to part to ", program_part
if two_parts.program_part == 1 and event.button == 1:
plot([event.xdata], [event.ydata], marker = 'o', mfc = 'r')
if two_parts.program_part == 2 and event.button == 1:
plot([event.xdata], [event.ydata], marker = 's', mfc = 'g')
draw()
two_parts.program_part = 1

which would introduce them to attributes and pave the way to thinking
about OO.

JDH

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] giving parameters to func when using events

2006-12-08 Thread Martin Richter
Hello everyone,

below is a little code - what it actually does is quite self-explanatory.
(When clicking with left - draw a red circle. When the right button is pressed 
switch to a different mode. Now green squares are drawn and so on.)

My question now is: Is there a way to avoid using global variables but also 
avoid an object-oriented programming? In other words: Is it possible to pass 
e.g. a dictionary containing some information to the function called by the 
event? The reason for not wanting the object-oriented way is: We want to 
teach something to students who never programmed before. And to them it would 
be pretty hard if we start everything object-oriented!

Thanks for your suggestions,
Martin


from pylab import *

def two_parts(event):
global program_part
if event.button == 3:
program_part = program_part%2 + 1
print " Changed to part to ", program_part
if program_part == 1 and event.button == 1:
plot([event.xdata], [event.ydata], marker = 'o', mfc = 'r')
if program_part == 2 and event.button == 1:
plot([event.xdata], [event.ydata], marker = 's', mfc = 'g')
draw()

figure(1)
ax = subplot(111, autoscale_on=False)
ax.set_xlim([0,1])
ax.set_ylim([0,1])

program_part = 1
print " Actual program part is ", program_part
connect('button_press_event', two_parts)
show()


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Different contours in contour and contourf

2006-12-08 Thread Yannick Copin
Hi,

running the simple test code:

from pylab import *
X, Y = meshgrid(linspace(-3,3,11),linspace(-3,3,11))
Z = randn(*X.shape)
lev = linspace(Z.min(),Z.max(),11)[1:-1]
contourf(X,Y,Z, lev, extend='both')
contour(X,Y,Z, lev, colors='k')
show()

you will probably notice that the 'contourf' contours are not always 
exactly the sames as the 'contour' contours. Why is it so? Don't contour 
and contourf use the same contour constructor?

Cheers.
-- 
 /  \ ,,
   _._ _ |oo| _  / \__/ \
  _   ((/ () \))   /  \  Yannick COPIN  (o:>*  Doctus cum libro
  |/|  (  )|oo|  Institut de physique nucleaire de Lyon
   \/  _`\  /'_/  \(IN2P3 - France)
   /   /.-' /\<>/\ `\.( () )_._  Tel: (33/0) 472 431 968
   |`  /  \/  \  /`'--') http://snovae.in2p3.fr/ycopin/
\__,-'`|  |.  |\/ |/\/\|"\"` AIM: YcCopinICQ: 236931013
   jgs |  |.  | \___/\___/
   |  |.  |   ||

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Merge colorbars from imshow and contour

2006-12-08 Thread Yannick Copin
Hi,

in a case similar to matplotlib-0.87.7/examples/contour_demo.py (figure 
4), would it be possible to merge to two colorbars (a continuous one 
from imshow, a discrete one from contour) into a single colorbar? 
Indeed, in that case, the two colorbars are mostly redundant.

Cheers.
-- 
 /  \ ,,
   _._ _ |oo| _  / \__/ \
  _   ((/ () \))   /  \  Yannick COPIN  (o:>*  Doctus cum libro
  |/|  (  )|oo|  Institut de physique nucleaire de Lyon
   \/  _`\  /'_/  \(IN2P3 - France)
   /   /.-' /\<>/\ `\.( () )_._  Tel: (33/0) 472 431 968
   |`  /  \/  \  /`'--') http://snovae.in2p3.fr/ycopin/
\__,-'`|  |.  |\/ |/\/\|"\"` AIM: YcCopinICQ: 236931013
   jgs |  |.  | \___/\___/
   |  |.  |   ||

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users