Re: [Matplotlib-users] python question from matlab user

2012-09-08 Thread Eric Firing
On 2012/09/07 7:52 PM, Paul Tremblay wrote:
> in your jmkfile.py you should have
>
> from  pylab  import  *

Or to be more pythonic, import only what you actually need in a given 
module, e.g.,

from matplotlib import rc

Eric

>
> Paul
>
>
>
> On 9/8/12 12:45 AM, Jody Klymak wrote:
>> Hi All,
>>
>> Sorry to ask a dumb python newbie question, but the problem arose while 
>> reading the matplotlib documentation, and an hour or so on the internet 
>> didnt' help, so I felt it was fair-ish game to post here.
>>
>> Inhttp://matplotlib.sourceforge.net/examples/pylab_examples/customize_rc.html
>>   it says:
>> """
>> If you like to work interactively, and need to create different sets
>> of defaults for figures (eg one set of defaults for publication, one
>> set for interactive exploration), you may want to define some
>> functions in a custom module that set the defaults, eg
>>
>> def set_pub():
>>  rc('font', weight='bold')# bold fonts are easier to see
>>
>> Then as you are working interactively, you just need to do
>>
> set_pub()
>> """
>>
>> Which I thought was great, because I'd like to have some presets for 
>> different journals.  However, saving the def into a file (jmkfigure.py) and 
>> calling
>>
>> from jmkfigure import *
>>
>> set_pub()
>>
>> yields the error: "NameError: global name 'rc' is not defined"
>>
>> I tried importing matplotlib and rc into jmkfigure.py, but to no avail.
>>
>> I appreciate this is a scoping issue with python, but I can't figure out how 
>> to set rc from within an external module.
>>
>> Thanks for any help,
>>
>> Cheers,   Jody
>>
>>
>>
>>
>>
>>
>
>
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>
>
>
> ___
> Matplotlib-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] python question from matlab user

2012-09-08 Thread Jody Klymak
Hi all,

Thats what I thought too:

I have: jmkfigure.py:

===
from pylab import *

def jmkfigure():
rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
rc('font',size=9);
===

and test.py:

=
from pylab import *

from jmkfigure import *

jmkfigure()
figure(1)
plot([1,2,3]);

show()
==

>>> run test.py

yields a traceback ending w/:

===
Users/jklymak/teaching/Phy411/project/jmkfigure.py in jmkfigure()
  1 from pylab import *
> 2 
  3 def jmkfigure():
  4 rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
  5 rc('font',size=9);

NameError: global name 'rc' is not defined


Same error if I just import "rc" from matplot lib

Is it some strange set up problem?  If I put the same def in test.py it works 
fine...

Thanks,  Jody

On Sep 7, 2012, at  22:52 PM, Paul Tremblay  wrote:

> in your jmkfile.py you should have
> 
> from pylab import *
> 
> Paul
> 
> 
> On 9/8/12 12:45 AM, Jody Klymak wrote:
>> Hi All,
>> 
>> Sorry to ask a dumb python newbie question, but the problem arose while 
>> reading the matplotlib documentation, and an hour or so on the internet 
>> didnt' help, so I felt it was fair-ish game to post here. 
>> 
>> In 
>> http://matplotlib.sourceforge.net/examples/pylab_examples/customize_rc.html 
>> it says:
>> """
>> If you like to work interactively, and need to create different sets
>> of defaults for figures (eg one set of defaults for publication, one
>> set for interactive exploration), you may want to define some
>> functions in a custom module that set the defaults, eg
>> 
>> def set_pub():
>> rc('font', weight='bold')# bold fonts are easier to see
>> 
>> Then as you are working interactively, you just need to do
>> 
> set_pub()
>> """
>> 
>> Which I thought was great, because I'd like to have some presets for 
>> different journals.  However, saving the def into a file (jmkfigure.py) and 
>> calling 
>> 
>> from jmkfigure import *
>> 
>> set_pub()
>> 
>> yields the error: "NameError: global name 'rc' is not defined" 
>> 
>> I tried importing matplotlib and rc into jmkfigure.py, but to no avail.  
>> 
>> I appreciate this is a scoping issue with python, but I can't figure out how 
>> to set rc from within an external module.
>> 
>> Thanks for any help,
>> 
>> Cheers,   Jody
>> 
>> 
>> 
>> 
>> 
>> 
> 
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
> Matplotlib-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Jody Klymak
http://web.uvic.ca/~jklymak/




--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] python question from matlab user

2012-09-08 Thread Jody Klymak
Ack, OK, to answer my own question...

Somehow ipython was caching the definition of jmkfigure, so changing the module 
in the jmkfigure.py file did not actually change the version ipython was using. 
Running a new version of ipython, it worked fine.  

Sorry for the chatter, and thanks for the pointers..
 
Cheers,   Jody

On Sep 8, 2012, at  6:18 AM, Jody Klymak  wrote:

> Hi all,
> 
> Thats what I thought too:
> 
> I have: jmkfigure.py:
> 
> ===
> from pylab import *
> 
> def jmkfigure():
> rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
> rc('font',size=9);
> ===
> 
> and test.py:
> 
> =
> from pylab import *
> 
> from jmkfigure import *
> 
> jmkfigure()
> figure(1)
> plot([1,2,3]);
> 
> show()
> ==
> 
> >>> run test.py
> 
> yields a traceback ending w/:
> 
> ===
> Users/jklymak/teaching/Phy411/project/jmkfigure.py in jmkfigure()
>   1 from pylab import *
> > 2 
>   3 def jmkfigure():
>   4 rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
>   5 rc('font',size=9);
> 
> NameError: global name 'rc' is not defined
> 
> 
> Same error if I just import "rc" from matplot lib
> 
> Is it some strange set up problem?  If I put the same def in test.py it works 
> fine...
> 
> Thanks,  Jody
> 
> On Sep 7, 2012, at  22:52 PM, Paul Tremblay  wrote:
> 
>> in your jmkfile.py you should have
>> 
>> from pylab import *
>> 
>> Paul
>> 
>> 
>> On 9/8/12 12:45 AM, Jody Klymak wrote:
>>> Hi All,
>>> 
>>> Sorry to ask a dumb python newbie question, but the problem arose while 
>>> reading the matplotlib documentation, and an hour or so on the internet 
>>> didnt' help, so I felt it was fair-ish game to post here. 
>>> 
>>> In 
>>> http://matplotlib.sourceforge.net/examples/pylab_examples/customize_rc.html 
>>> it says:
>>> """
>>> If you like to work interactively, and need to create different sets
>>> of defaults for figures (eg one set of defaults for publication, one
>>> set for interactive exploration), you may want to define some
>>> functions in a custom module that set the defaults, eg
>>> 
>>> def set_pub():
>>> rc('font', weight='bold')# bold fonts are easier to see
>>> 
>>> Then as you are working interactively, you just need to do
>>> 
>> set_pub()
>>> """
>>> 
>>> Which I thought was great, because I'd like to have some presets for 
>>> different journals.  However, saving the def into a file (jmkfigure.py) and 
>>> calling 
>>> 
>>> from jmkfigure import *
>>> 
>>> set_pub()
>>> 
>>> yields the error: "NameError: global name 'rc' is not defined" 
>>> 
>>> I tried importing matplotlib and rc into jmkfigure.py, but to no avail.  
>>> 
>>> I appreciate this is a scoping issue with python, but I can't figure out 
>>> how to set rc from within an external module.
>>> 
>>> Thanks for any help,
>>> 
>>> Cheers,   Jody
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> --
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and 
>> threat landscape has changed and how IT managers can respond. Discussions 
>> will include endpoint security, mobile security and the latest in malware 
>> threats. 
>> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
>> Matplotlib-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> --
> Jody Klymak
> http://web.uvic.ca/~jklymak/
> 
> 
> 
> 
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
> Matplotlib-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Jody Klymak
http://web.uvic.ca/~jklymak/




--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] python question from matlab user

2012-09-08 Thread Eric Firing
On 2012/09/08 3:50 AM, Jody Klymak wrote:
> Ack, OK, to answer my own question...
>
> Somehow ipython was caching the definition of jmkfigure, so changing the
> module in the jmkfigure.py file did not actually change the version
> ipython was using. Running a new version of ipython, it worked fine.

Jody,

This is one of the big differences between python and matlab: in matlab, 
if an m-file has changed within a session, the change is immediately 
effective. The python "import" statement is very different.  If a module 
has been imported, then a subsequent "import" of it does not re-read the 
file, even if it has changed. There is a "reload" builtin function that 
will re-read a file, but it is rarely used.  It reloads only the 
specified module, not modules that use it.  Ipython has a recursive 
dreload (for deep reload) function, but I don't use that, either; I just 
do what you did, start a new instance of ipython.

In ipython, the %run magic is useful for developing and modifying a 
single module or script at at time, making changes and testing without 
restarting ipython.

Eric

>
> Sorry for the chatter, and thanks for the pointers..
> Cheers,   Jody
>
> On Sep 8, 2012, at  6:18 AM, Jody Klymak  > wrote:
>
>> Hi all,
>>
>> Thats what I thought too:
>>
>> I have: jmkfigure.py:
>>
>> ===
>> from pylab import *
>>
>> def jmkfigure():
>> rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
>> rc('font',size=9);
>> ===
>>
>> and test.py:
>>
>> =
>> from pylab import *
>>
>> from jmkfigure import *
>>
>> jmkfigure()
>> figure(1)
>> plot([1,2,3]);
>>
>> show()
>> ==
>>
>> >>> run test.py
>>
>> yields a traceback ending w/:
>>
>> ===
>> Users/jklymak/teaching/Phy411/project/jmkfigure.py in jmkfigure()
>>   1 from pylab import *
>> > 2
>>   3 def jmkfigure():
>>   4 rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
>>   5 rc('font',size=9);
>>
>> NameError: global name 'rc' is not defined
>> 
>>
>> Same error if I just import "rc" from matplot lib
>>
>> Is it some strange set up problem?  If I put the same def in test.py
>> it works fine...
>>
>> Thanks,  Jody
>>
>> On Sep 7, 2012, at  22:52 PM, Paul Tremblay > > wrote:
>>
>>> in your jmkfile.py you should have
>>>
>>> from  pylab  import  *
>>>
>>> Paul
>>>
>>>
>>> On 9/8/12 12:45 AM, Jody Klymak wrote:
 Hi All,

 Sorry to ask a dumb python newbie question, but the problem arose while 
 reading the matplotlib documentation, and an hour or so on the internet 
 didnt' help, so I felt it was fair-ish game to post here.

 Inhttp://matplotlib.sourceforge.net/examples/pylab_examples/customize_rc.html
   it says:
 """
 If you like to work interactively, and need to create different sets
 of defaults for figures (eg one set of defaults for publication, one
 set for interactive exploration), you may want to define some
 functions in a custom module that set the defaults, eg

 def set_pub():
  rc('font', weight='bold')# bold fonts are easier to see

 Then as you are working interactively, you just need to do

>>> set_pub()
 """

 Which I thought was great, because I'd like to have some presets for 
 different journals.  However, saving the def into a file (jmkfigure.py) 
 and calling

 from jmkfigure import *

 set_pub()

 yields the error: "NameError: global name 'rc' is not defined"

 I tried importing matplotlib and rc into jmkfigure.py, but to no avail.

 I appreciate this is a scoping issue with python, but I can't figure out 
 how to set rc from within an external module.

 Thanks for any help,

 Cheers,   Jody






>>>
>>> --
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond.
>>> Discussions
>>> will include endpoint security, mobile security and the latest in
>>> malware
>>> threats.
>>> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
>>> Matplotlib-users mailing list
>>> [email protected]
>>> 
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>> --
>> Jody Klymak
>> http://web.uvic.ca/~jklymak/
>>
>>
>>
>>
>> --
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats.
>> http://www.accelacomm.com/jaw/sfrnl04242012/114/5

Re: [Matplotlib-users] python question from matlab user

2012-09-08 Thread Jody Klymak

> 
> This is one of the big differences between python and matlab: in matlab, 
> if an m-file has changed within a session, the change is immediately 
> effective. The python "import" statement is very different. 

Gotchya, thanks.  

So, while I'm being a bother:

in Matlab, I often organize data in structures as:

adcp.time [1xN]
adcp.z  [Mx1]
adcp.u  [MxN]

where time is the x-axis, z the z-axis and u an array of values at each depth 
and time (an example chosen after Eric's heart).  

What is the recommended way to represent this in python?  I see the info about 
numpy structured arrays.  Is that it?  It also seems that Mx1 arrays are hard 
in python.  It also seems you need to preallocate the whole array, which isn't 
very flexible compared to how you can do it in Matlab.  Am I missing something?

Thanks,   Jody



> 
>> 
>> Sorry for the chatter, and thanks for the pointers..
>> Cheers,   Jody
>> 
>> On Sep 8, 2012, at  6:18 AM, Jody Klymak > > wrote:
>> 
>>> Hi all,
>>> 
>>> Thats what I thought too:
>>> 
>>> I have: jmkfigure.py:
>>> 
>>> ===
>>> from pylab import *
>>> 
>>> def jmkfigure():
>>>rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
>>>rc('font',size=9);
>>> ===
>>> 
>>> and test.py:
>>> 
>>> =
>>> from pylab import *
>>> 
>>> from jmkfigure import *
>>> 
>>> jmkfigure()
>>> figure(1)
>>> plot([1,2,3]);
>>> 
>>> show()
>>> ==
>>> 
>> run test.py
>>> 
>>> yields a traceback ending w/:
>>> 
>>> ===
>>> Users/jklymak/teaching/Phy411/project/jmkfigure.py in jmkfigure()
>>>  1 from pylab import *
>>> > 2
>>>  3 def jmkfigure():
>>>  4 rc('figure',figsize=(3+3/8,8.5/2),dpi=96)
>>>  5 rc('font',size=9);
>>> 
>>> NameError: global name 'rc' is not defined
>>> 
>>> 
>>> Same error if I just import "rc" from matplot lib
>>> 
>>> Is it some strange set up problem?  If I put the same def in test.py
>>> it works fine...
>>> 
>>> Thanks,  Jody
>>> 
>>> On Sep 7, 2012, at  22:52 PM, Paul Tremblay >> > wrote:
>>> 
 in your jmkfile.py you should have
 
 from  pylab  import  *
 
 Paul
 
 
 On 9/8/12 12:45 AM, Jody Klymak wrote:
> Hi All,
> 
> Sorry to ask a dumb python newbie question, but the problem arose while 
> reading the matplotlib documentation, and an hour or so on the internet 
> didnt' help, so I felt it was fair-ish game to post here.
> 
> Inhttp://matplotlib.sourceforge.net/examples/pylab_examples/customize_rc.html
>   it says:
> """
> If you like to work interactively, and need to create different sets
> of defaults for figures (eg one set of defaults for publication, one
> set for interactive exploration), you may want to define some
> functions in a custom module that set the defaults, eg
> 
> def set_pub():
> rc('font', weight='bold')# bold fonts are easier to see
> 
> Then as you are working interactively, you just need to do
> 
 set_pub()
> """
> 
> Which I thought was great, because I'd like to have some presets for 
> different journals.  However, saving the def into a file (jmkfigure.py) 
> and calling
> 
> from jmkfigure import *
> 
> set_pub()
> 
> yields the error: "NameError: global name 'rc' is not defined"
> 
> I tried importing matplotlib and rc into jmkfigure.py, but to no avail.
> 
> I appreciate this is a scoping issue with python, but I can't figure out 
> how to set rc from within an external module.
> 
> Thanks for any help,
> 
> Cheers,   Jody
> 
> 
> 
> 
> 
> 
 
 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond.
 Discussions
 will include endpoint security, mobile security and the latest in
 malware
 threats.
 http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
 Matplotlib-users mailing list
 [email protected]
 
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>> 
>>> --
>>> Jody Klymak
>>> http://web.uvic.ca/~jklymak/
>>> 
>>> 
>>> 
>>> 
>>> --
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond. Discussions
>>> will include endpoint security, mobile security and the latest in malware
>>> threats.
>>> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
>>> Matplotlib-users mai