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
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(1) |
2
|
3
(10) |
4
(17) |
5
(7) |
6
(21) |
7
(15) |
8
(6) |
9
(7) |
10
(8) |
11
(6) |
12
(11) |
13
(11) |
14
(13) |
15
(4) |
16
(5) |
17
(8) |
18
(8) |
19
(15) |
20
(3) |
21
(10) |
22
(5) |
23
(7) |
24
(8) |
25
(29) |
26
(26) |
27
(7) |
28
(2) |
29
(3) |
30
(3) |
|
|
|
|
|
|
[replying only to the list -Dale] On Sep 12, 2012, at 07:02 , Jae-Joon Lee wrote: > Your code works as expected in my side. I wasn't quite sure what to expect, but based on Jae-Joon's note: > So, changing (0.5, 0.5) to something like (0.6, 0.5) has no effect in > your side? It seems to work on my installation. I actually changed to (0.3,0.5) which made a nice view. > Hmm, what is you matplotlib version? OS X 10.7.4 using python and tools from fink: i python27 1:2.7.3-1 i python27-shlibs 1:2.7.3-1 i matplotlib-basemap-py27 1.0.2-1 i matplotlib-py27 1.1.1-1 i numpy-py27 1.6.1-1 Thanks to the folks who make this work, -Dale > Maybe this is a bug in old version of matplotlib. > > Regards, > > -JJ > > > On Wed, Sep 12, 2012 at 6:16 PM, darkside <in....@gm...> wrote: >> Thank you for your help. >> >> A simple example that doesn't work for me is: >> ---------------------------------------- >> import pylab as p >> import numpy as np >> from mpl_toolkits.axes_grid.inset_locator import zoomed_inset_axes >> from mpl_toolkits.axes_grid.inset_locator import mark_inset >> from mpl_toolkits.axes_grid.anchored_artists import AnchoredSizeBar >> from matplotlib.ticker import MaxNLocator >> >> fig = p.figure(figsize=(12,8)) >> ax = p.subplot(111) >> >> z = p.arange(0,1.415,0.01) >> d = z**2+np.random.random(len(z)) >> >> ax.plot(z,d,'ro',label='text') >> >> p.xlabel('z',fontsize=18) >> p.ylabel('Luminosity distance',fontsize=18) >> p.grid(True) >> >> axins = zoomed_inset_axes(ax, >> 3,bbox_to_anchor=(0.5,0.5),bbox_transform=ax.figure.transFigure, loc=2) >> >> >> axins.plot(z,d,'r.') >> >> ax.legend(loc=2,bbox_to_anchor=(1,1)) >> >> x,y = (0.86,1.3) >> x2,y2 = (1,1.7) >> axins.set_xlim(x,x2) >> axins.set_ylim(y,y2) >> axins.tick_params(axis='both',labelsize=12) >> axins.xaxis.set_major_locator(MaxNLocator(2)) >> axins.yaxis.set_major_locator(MaxNLocator(3)) >> >> mark_inset(ax,axins,loc1=1,loc2=3, fc="none", ec="0.5") >> >> p.draw() >> p.show() >> ----------------------------------------------------------- >> The "bbox_to_anchor" label is supposed to move the zoomed axis, but it does >> nothing, no matter what two numbers I place there. >> I guess that I miss something, but I can't figure out what. I really >> appreciate your help. >> >> Best regards, >> Illa >> >> >> >> 2012年9月5日 Jae-Joon Lee <lee...@gm...> >>> >>> On Mon, Aug 20, 2012 at 10:50 PM, darkside <in....@gm...> >>> wrote: >>>> I am using zoomed_inset_axes, but the default position overlaps the >>>> yticks >>>> and the parent axe ticks, so I am trying: >>>> axins = zoomed_inset_axes(ax, >>>> 3,bbox_to_anchor(0.5,1),bbox_transform=ax.figure.transFigure, loc=2) >>> >>> This is supposed to work, and my quick test did work. Can you post a >>> complete but simple exampl? >>> >>> Regards, >>> >>> -JJ >> >> > > ------------------------------------------------------------------------------ > 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Your code works as expected in my side. So, changing (0.5, 0.5) to something like (0.6, 0.5) has no effect in your side? Hmm, what is you matplotlib version? Maybe this is a bug in old version of matplotlib. Regards, -JJ On Wed, Sep 12, 2012 at 6:16 PM, darkside <in....@gm...> wrote: > Thank you for your help. > > A simple example that doesn't work for me is: > ---------------------------------------- > import pylab as p > import numpy as np > from mpl_toolkits.axes_grid.inset_locator import zoomed_inset_axes > from mpl_toolkits.axes_grid.inset_locator import mark_inset > from mpl_toolkits.axes_grid.anchored_artists import AnchoredSizeBar > from matplotlib.ticker import MaxNLocator > > fig = p.figure(figsize=(12,8)) > ax = p.subplot(111) > > z = p.arange(0,1.415,0.01) > d = z**2+np.random.random(len(z)) > > ax.plot(z,d,'ro',label='text') > > p.xlabel('z',fontsize=18) > p.ylabel('Luminosity distance',fontsize=18) > p.grid(True) > > axins = zoomed_inset_axes(ax, > 3,bbox_to_anchor=(0.5,0.5),bbox_transform=ax.figure.transFigure, loc=2) > > > axins.plot(z,d,'r.') > > ax.legend(loc=2,bbox_to_anchor=(1,1)) > > x,y = (0.86,1.3) > x2,y2 = (1,1.7) > axins.set_xlim(x,x2) > axins.set_ylim(y,y2) > axins.tick_params(axis='both',labelsize=12) > axins.xaxis.set_major_locator(MaxNLocator(2)) > axins.yaxis.set_major_locator(MaxNLocator(3)) > > mark_inset(ax,axins,loc1=1,loc2=3, fc="none", ec="0.5") > > p.draw() > p.show() > ----------------------------------------------------------- > The "bbox_to_anchor" label is supposed to move the zoomed axis, but it does > nothing, no matter what two numbers I place there. > I guess that I miss something, but I can't figure out what. I really > appreciate your help. > > Best regards, > Illa > > > > 2012年9月5日 Jae-Joon Lee <lee...@gm...> >> >> On Mon, Aug 20, 2012 at 10:50 PM, darkside <in....@gm...> >> wrote: >> > I am using zoomed_inset_axes, but the default position overlaps the >> > yticks >> > and the parent axe ticks, so I am trying: >> > axins = zoomed_inset_axes(ax, >> > 3,bbox_to_anchor(0.5,1),bbox_transform=ax.figure.transFigure, loc=2) >> >> This is supposed to work, and my quick test did work. Can you post a >> complete but simple exampl? >> >> Regards, >> >> -JJ > >
Thank you for your help. A simple example that doesn't work for me is: ---------------------------------------- import pylab as p import numpy as np from mpl_toolkits.axes_grid.inset_locator import zoomed_inset_axes from mpl_toolkits.axes_grid.inset_locator import mark_inset from mpl_toolkits.axes_grid.anchored_artists import AnchoredSizeBar from matplotlib.ticker import MaxNLocator fig = p.figure(figsize=(12,8)) ax = p.subplot(111) z = p.arange(0,1.415,0.01) d = z**2+np.random.random(len(z)) ax.plot(z,d,'ro',label='text') p.xlabel('z',fontsize=18) p.ylabel('Luminosity distance',fontsize=18) p.grid(True) axins = zoomed_inset_axes(ax, 3,bbox_to_anchor=(0.5,0.5),bbox_transform=ax.figure.transFigure, loc=2) axins.plot(z,d,'r.') ax.legend(loc=2,bbox_to_anchor=(1,1)) x,y = (0.86,1.3) x2,y2 = (1,1.7) axins.set_xlim(x,x2) axins.set_ylim(y,y2) axins.tick_params(axis='both',labelsize=12) axins.xaxis.set_major_locator(MaxNLocator(2)) axins.yaxis.set_major_locator(MaxNLocator(3)) mark_inset(ax,axins,loc1=1,loc2=3, fc="none", ec="0.5") p.draw() p.show() ----------------------------------------------------------- The "bbox_to_anchor" label is supposed to move the zoomed axis, but it does nothing, no matter what two numbers I place there. I guess that I miss something, but I can't figure out what. I really appreciate your help. Best regards, Illa 2012年9月5日 Jae-Joon Lee <lee...@gm...> > On Mon, Aug 20, 2012 at 10:50 PM, darkside <in....@gm...> > wrote: > > I am using zoomed_inset_axes, but the default position overlaps the > yticks > > and the parent axe ticks, so I am trying: > > axins = zoomed_inset_axes(ax, > > 3,bbox_to_anchor(0.5,1),bbox_transform=ax.figure.transFigure, loc=2) > > This is supposed to work, and my quick test did work. Can you post a > complete but simple exampl? > > Regards, > > -JJ >
I'm using matplotlib plots embedded in a wxpython application to display a stream of data. The application works effectively but I have noticed that memory usage rises substantially over time (if left long enough the process can go from 50MB to near 1GB of RAM). After some experimentation, I have tracked the problem down to the canvas.draw() call needed to refresh my matplotlib plos. Thinking that the problem may be due to how I coded up my plots I looked to see if the problem was present in the examples given at http://matplotlib.sourceforge.net/examples/user_interfaces and found that the problem seem to be present in some the examples posted there if I added a timer to cause the canvas draw to be repeatedly performed. The example below is based on http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_ wx2.html and has been instrumented to report memory usage when running in Windows. My tests indicate that working set memory rises by 11 to 12 Kbytes at each plot. Some what to my surprise, I found the same issue when I ran an even simpler version on a linux mint virtual box running on my win7 system. (I have not explored this much so somebody else might want to test things on a non virtual linux box) I assume this implies that python is probably keeping something alive that was expected to be automatically cleaned up at each draw. I have made some effort to localize the problem further but right now I don't have the necessary time to get heavily into the inner workings of matplotlib or wxpython Has any body else seen this problem before, and if so, has any body a work around that allows rapid replotting - I would guess that I could periodically flush the figure and re build my plots but this would cause periodic glitches in plotting? Dominic System details Win7 ultimate service pack1 Python 2.6.6 (but I've seen the problem with python2.5 and 2.7) Matplotlib 1.1.1 (but also in earlier versions) Wxpython 2.9.4.0 msw (classic) (put also on 2.8.12.0 unicode) Example ------------------------------------------------------------------------ ----------------------------------------------------------- import wxversion wxversion.ensureMinimal('2.8') from numpy import arange, sin, pi import matplotlib # uncomment the following to use wx rather than wxagg #matplotlib.use('WX') #from matplotlib.backends.backend_wx import FigureCanvasWx as FigureCanvas # comment out the following to use wx rather than wxagg matplotlib.use('WXAgg') from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.backends.backend_wx import NavigationToolbar2Wx from matplotlib.figure import Figure import win32process import wx class CanvasFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, 'CanvasFrame',size=(550,350)) #self.SetBackgroundColour(wx.NamedColor("WHITE")) # 2.9 does not like self.figure = Figure() self.axes = self.figure.add_subplot(111) t = arange(0.0,3.0,0.01) s = sin(2*pi*t) self.axes.plot(t,s) self.canvas = FigureCanvas(self, -1, self.figure) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) self.SetSizer(self.sizer) self.Fit() self.add_toolbar() # comment this out for no toolbar self.timer = wx.Timer(self, -1) self.Bind(wx.EVT_TIMER, self.OnUpdate) self.delay = 200 self.timer.Start(self.delay, oneShot = False) self.proc_id = win32process.GetCurrentProcess() adict = win32process.GetProcessMemoryInfo(self.proc_id) self.memory_old = adict["WorkingSetSize"] self.i = 0 def add_toolbar(self): self.toolbar = NavigationToolbar2Wx(self.canvas) self.toolbar.Realize() if wx.Platform == '__WXMAC__': # Mac platform (OSX 10.3, MacPython) does not seem to cope with # having a toolbar in a sizer. This work-around gets the buttons # back, but at the expense of having the toolbar at the top self.SetToolBar(self.toolbar) else: # On Windows platform, default window size is incorrect, so set # toolbar width to figure width. tw, th = self.toolbar.GetSizeTuple() fw, fh = self.canvas.GetSizeTuple() # By adding toolbar in sizer, we are able to put it at the bottom # of the frame - so appearance is closer to GTK version. # As noted above, doesn't work for Mac. self.toolbar.SetSize(wx.Size(fw, th)) self.sizer.Add(self.toolbar, 0, wx.LEFT | wx.EXPAND) # update the axes menu on the toolbar self.toolbar.update() def OnUpdate(self, evt): self.OnPaint( evt) self.i +=1 the_count =25 if self.i %the_count ==0: adict_now = win32process.GetProcessMemoryInfo(self.proc_id) memory_now = adict_now["WorkingSetSize"] delta = (memory_now - self.memory_old )/ (the_count *1024.0) #convert to kbytes per update self.memory_old = memory_now print "memory now = %i delta = %f\n" %(memory_now, delta) def OnPaint(self, event): self.canvas.draw() class App(wx.App): def OnInit(self): 'Create the main window and insert the custom frame' frame = CanvasFrame() frame.Show(True) return True app = App(0) app.MainLoop()
On Tue, Sep 11, 2012 at 3:34 PM, Neal Becker <ndb...@gm...> wrote: > OK, I've attached my sanitized example > ImportError: No module named pandas. Can you provide an example that doesn't depend on pandas? > Benjamin Root wrote: > >> On Tue, Sep 11, 2012 at 9:29 AM, Neal Becker >> <ndb...@gm...> wrote: >> >>> I tried a scatterplot with legend(loc='best'), but the legend >>> appears on the upper right, covering a data point. There is nothing >>> anywhere >>> in the graph on the upper left, which is where 'best' should go. >>> >>> >> A small, self-contained example would be most useful. The logic for 'best' >> isn't the greatest, but it should work in most cases. If you could provide >> an example of where this blatantly breaks, it might uncover a bug. >> >> Cheers! >> Ben Root > > ------------------------------------------------------------------------------ > 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Damon McDougall http://www.damon.is-a-geek.com B2.39 Mathematics Institute University of Warwick Coventry West Midlands CV4 7AL United Kingdom
OK, I've attached my sanitized example Benjamin Root wrote: > On Tue, Sep 11, 2012 at 9:29 AM, Neal Becker > <ndb...@gm...> wrote: > >> I tried a scatterplot with legend(loc='best'), but the legend >> appears on the upper right, covering a data point. There is nothing >> anywhere >> in the graph on the upper left, which is where 'best' should go. >> >> > A small, self-contained example would be most useful. The logic for 'best' > isn't the greatest, but it should work in most cases. If you could provide > an example of where this blatantly breaks, it might uncover a bug. > > Cheers! > Ben Root
On Tue, Sep 11, 2012 at 9:29 AM, Neal Becker <ndb...@gm...> wrote: > I tried a scatterplot with legend(loc='best'), but the legend > appears on the upper right, covering a data point. There is nothing > anywhere > in the graph on the upper left, which is where 'best' should go. > > A small, self-contained example would be most useful. The logic for 'best' isn't the greatest, but it should work in most cases. If you could provide an example of where this blatantly breaks, it might uncover a bug. Cheers! Ben Root
I tried a scatterplot with legend(loc='best'), but the legend appears on the upper right, covering a data point. There is nothing anywhere in the graph on the upper left, which is where 'best' should go.
On Sunday, September 9, 2012, Eric Firing wrote: > Regarding the need to pre-allocate: yes, matlab is slicker in this > regard, and every now and then there is discussion about implementing > equivalent behavior in numpy, or in an add-on module. > Technically, you don ́t have to preallocate the memory, but every time you expand your array, the whole of it will be copied to a new contiguous piece of memory. This works, but it can be slow if you do it many times, or you are handling big data. Using a Python list is not much more flexible, but you could use carrays (for chunked arrays), that are structures NumPyArrays-compatible (AFAIK) that are stored non contiguosly in memory. Adding data only needs to move one of those small pieces, instead of the whole array.
Hi Ben, I guess it's this: commit 8c57e4fe4909815092af470f4a036c80b407382c Merge: cf53d4c b6c5625 Author: Eric Firing <ef...@ha...> Date: Mon Jul 9 15:25:16 2012 -0700 Merge pull request #994 from efiring/fix_pcolorfast_quadmesh Fix bug in pcolorfast introduced by #901 cheers, Chao On Mon, Sep 10, 2012 at 4:30 PM, Phil Elson <pel...@gm...> wrote: > Ben, on master scatter legends are broken. A pull request (I can't > remember which, and github is down, possibly #1176) fixes this (obviously, > the PR is marked as release critical for 1.2). > > I have confirmed, that even once fixed on master, the scatter legend > handler does not take notice of the "numpoints" kwarg. > > Hope that helps clarify the matter, > > Regards, > > Phil > > > On 10 September 2012 14:51, Benjamin Root <ben...@ou...> wrote: > >> >> >> On Mon, Sep 10, 2012 at 9:33 AM, Chao YUE <cha...@gm...> wrote: >> >>> Hi Ben, >>> >>> I think I installed this version by following the instructions on >>> matplotlib website. But when I try to use git log, I get: >>> >>> chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ >>> pwd >>> /usr/local/lib/python2.7/dist-packages/matplotlib >>> >>> chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ >>> git log >>> fatal: Not a git repository (or any of the parent directories): .git >>> >>> I tried to have a look at __init__.py, it has: >>> >>> from __future__ import print_function >>> >>> __version__ = '1.2.x' >>> __version__numpy__ = '1.4' # minimum required numpy version >>> >>> So it's the correct directory I am going. could you give some further >>> instructions? >>> >>> Chao >>> >>> >> Which directions? We have several for different kinds of installs. We >> have not released v1.2.0 yet, so I was guessing you checked out mpl from >> github. If that is the case, then you run "git log" from the source >> directory, not the install directory. >> >> Ben >> >> >>> >>> On Mon, Sep 10, 2012 at 3:05 PM, Benjamin Root <ben...@ou...> wrote: >>> >>>> >>>> >>>> On Mon, Sep 10, 2012 at 2:56 AM, Chao YUE <cha...@gm...> wrote: >>>> >>>>> Hi Ben, >>>>> >>>>> I tried the "numpoints" in legend function for scatter plot, in dev >>>>> version and GTKAgg backend it works. >>>>> >>>>> In [3]: mat.__version__ >>>>> Out[3]: '1.2.x' >>>>> >>>>> In [4]: mat.get_backend() >>>>> Out[4]: 'GTKAgg' >>>>> >>>>> Chao >>>>> >>>>> >>>> Strange, when I tested it last night, I was using a build of mpl from >>>> master of a couple weeks ago, and I saw three markers in the legend. Now, >>>> I am trying it again with the latest master: >>>> 1478a1be70b3077b71350cecaccb774f76a76656, and I now see *zero* markers. >>>> Something is seriously broken. >>>> >>>> Can you tell me what commit (and the date for that commit) shows up at >>>> top when you run "git log" in the mpl source directory? >>>> >>>> Ben Root >>>> >>>> >>> >>> >>> -- >>> >>> *********************************************************************************** >>> Chao YUE >>> Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) >>> UMR 1572 CEA-CNRS-UVSQ >>> Batiment 712 - Pe 119 >>> 91191 GIF Sur YVETTE Cedex >>> Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 >>> >>> ************************************************************************************ >>> >>> >> >> >> ------------------------------------------------------------------------------ >> 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 >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
Ben, on master scatter legends are broken. A pull request (I can't remember which, and github is down, possibly #1176) fixes this (obviously, the PR is marked as release critical for 1.2). I have confirmed, that even once fixed on master, the scatter legend handler does not take notice of the "numpoints" kwarg. Hope that helps clarify the matter, Regards, Phil On 10 September 2012 14:51, Benjamin Root <ben...@ou...> wrote: > > > On Mon, Sep 10, 2012 at 9:33 AM, Chao YUE <cha...@gm...> wrote: > >> Hi Ben, >> >> I think I installed this version by following the instructions on >> matplotlib website. But when I try to use git log, I get: >> >> chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ >> pwd >> /usr/local/lib/python2.7/dist-packages/matplotlib >> >> chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ >> git log >> fatal: Not a git repository (or any of the parent directories): .git >> >> I tried to have a look at __init__.py, it has: >> >> from __future__ import print_function >> >> __version__ = '1.2.x' >> __version__numpy__ = '1.4' # minimum required numpy version >> >> So it's the correct directory I am going. could you give some further >> instructions? >> >> Chao >> >> > Which directions? We have several for different kinds of installs. We > have not released v1.2.0 yet, so I was guessing you checked out mpl from > github. If that is the case, then you run "git log" from the source > directory, not the install directory. > > Ben > > >> >> On Mon, Sep 10, 2012 at 3:05 PM, Benjamin Root <ben...@ou...> wrote: >> >>> >>> >>> On Mon, Sep 10, 2012 at 2:56 AM, Chao YUE <cha...@gm...> wrote: >>> >>>> Hi Ben, >>>> >>>> I tried the "numpoints" in legend function for scatter plot, in dev >>>> version and GTKAgg backend it works. >>>> >>>> In [3]: mat.__version__ >>>> Out[3]: '1.2.x' >>>> >>>> In [4]: mat.get_backend() >>>> Out[4]: 'GTKAgg' >>>> >>>> Chao >>>> >>>> >>> Strange, when I tested it last night, I was using a build of mpl from >>> master of a couple weeks ago, and I saw three markers in the legend. Now, >>> I am trying it again with the latest master: >>> 1478a1be70b3077b71350cecaccb774f76a76656, and I now see *zero* markers. >>> Something is seriously broken. >>> >>> Can you tell me what commit (and the date for that commit) shows up at >>> top when you run "git log" in the mpl source directory? >>> >>> Ben Root >>> >>> >> >> >> -- >> >> *********************************************************************************** >> Chao YUE >> Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) >> UMR 1572 CEA-CNRS-UVSQ >> Batiment 712 - Pe 119 >> 91191 GIF Sur YVETTE Cedex >> Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 >> >> ************************************************************************************ >> >> > > > ------------------------------------------------------------------------------ > 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
On Mon, Sep 10, 2012 at 9:33 AM, Chao YUE <cha...@gm...> wrote: > Hi Ben, > > I think I installed this version by following the instructions on > matplotlib website. But when I try to use git log, I get: > > chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ > pwd > /usr/local/lib/python2.7/dist-packages/matplotlib > > chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ > git log > fatal: Not a git repository (or any of the parent directories): .git > > I tried to have a look at __init__.py, it has: > > from __future__ import print_function > > __version__ = '1.2.x' > __version__numpy__ = '1.4' # minimum required numpy version > > So it's the correct directory I am going. could you give some further > instructions? > > Chao > > Which directions? We have several for different kinds of installs. We have not released v1.2.0 yet, so I was guessing you checked out mpl from github. If that is the case, then you run "git log" from the source directory, not the install directory. Ben > > On Mon, Sep 10, 2012 at 3:05 PM, Benjamin Root <ben...@ou...> wrote: > >> >> >> On Mon, Sep 10, 2012 at 2:56 AM, Chao YUE <cha...@gm...> wrote: >> >>> Hi Ben, >>> >>> I tried the "numpoints" in legend function for scatter plot, in dev >>> version and GTKAgg backend it works. >>> >>> In [3]: mat.__version__ >>> Out[3]: '1.2.x' >>> >>> In [4]: mat.get_backend() >>> Out[4]: 'GTKAgg' >>> >>> Chao >>> >>> >> Strange, when I tested it last night, I was using a build of mpl from >> master of a couple weeks ago, and I saw three markers in the legend. Now, >> I am trying it again with the latest master: >> 1478a1be70b3077b71350cecaccb774f76a76656, and I now see *zero* markers. >> Something is seriously broken. >> >> Can you tell me what commit (and the date for that commit) shows up at >> top when you run "git log" in the mpl source directory? >> >> Ben Root >> >> > > > -- > > *********************************************************************************** > Chao YUE > Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) > UMR 1572 CEA-CNRS-UVSQ > Batiment 712 - Pe 119 > 91191 GIF Sur YVETTE Cedex > Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 > > ************************************************************************************ > >
Hi Ben, I think I installed this version by following the instructions on matplotlib website. But when I try to use git log, I get: chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ pwd /usr/local/lib/python2.7/dist-packages/matplotlib chaoyue@chaoyue-Aspire-4750:/usr/local/lib/python2.7/dist-packages/matplotlib$ git log fatal: Not a git repository (or any of the parent directories): .git I tried to have a look at __init__.py, it has: from __future__ import print_function __version__ = '1.2.x' __version__numpy__ = '1.4' # minimum required numpy version So it's the correct directory I am going. could you give some further instructions? Chao On Mon, Sep 10, 2012 at 3:05 PM, Benjamin Root <ben...@ou...> wrote: > > > On Mon, Sep 10, 2012 at 2:56 AM, Chao YUE <cha...@gm...> wrote: > >> Hi Ben, >> >> I tried the "numpoints" in legend function for scatter plot, in dev >> version and GTKAgg backend it works. >> >> In [3]: mat.__version__ >> Out[3]: '1.2.x' >> >> In [4]: mat.get_backend() >> Out[4]: 'GTKAgg' >> >> Chao >> >> > Strange, when I tested it last night, I was using a build of mpl from > master of a couple weeks ago, and I saw three markers in the legend. Now, > I am trying it again with the latest master: > 1478a1be70b3077b71350cecaccb774f76a76656, and I now see *zero* markers. > Something is seriously broken. > > Can you tell me what commit (and the date for that commit) shows up at top > when you run "git log" in the mpl source directory? > > Ben Root > > -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
On Mon, Sep 10, 2012 at 2:56 AM, Chao YUE <cha...@gm...> wrote: > Hi Ben, > > I tried the "numpoints" in legend function for scatter plot, in dev > version and GTKAgg backend it works. > > In [3]: mat.__version__ > Out[3]: '1.2.x' > > In [4]: mat.get_backend() > Out[4]: 'GTKAgg' > > Chao > > Strange, when I tested it last night, I was using a build of mpl from master of a couple weeks ago, and I saw three markers in the legend. Now, I am trying it again with the latest master: 1478a1be70b3077b71350cecaccb774f76a76656, and I now see *zero* markers. Something is seriously broken. Can you tell me what commit (and the date for that commit) shows up at top when you run "git log" in the mpl source directory? Ben Root
Dear Ben, I tried again with dev version and GTKAgg backend it works. In [3]: mat.__version__ Out[3]: '1.2.x' In [4]: mat.get_backend() Out[4]: 'GTKAgg' Chao On Sun, Sep 9, 2012 at 9:32 PM, Benjamin Root <ben...@ou...> wrote: > > > On Tue, Apr 10, 2012 at 12:22 PM, wiswit <cha...@gm...> wrote: > >> Dear all, I use matplotlib 1.1.0. import matplotlib.pyplot as plt >> plt.plot(np.arange(10),'ro',mec='none') when I use plt.show(), there is >> only blank frame with axis not no points. but plt.plot(np.arange(10),'ro') >> will give good plot with read filled circles and black edges. >> plt.scatter(np.arange(10),np.arange(10),c='r',marker='o',edgecolor='none') >> is working fine. but I really think plt.plot is a very good and easy >> function if you don't make complex scatter points. and the circles look >> much nicer than that produced by plt.scatter (thought I don't know why as >> they use the same symble....) does anyone else have found the same ? thanks >> to all, Chao >> > > > This works for me with GTKAgg backend. If this is still a problem for > you, which backend are you using? > > Ben Root > -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
Hi Ben, I tried the "numpoints" in legend function for scatter plot, in dev version and GTKAgg backend it works. In [3]: mat.__version__ Out[3]: '1.2.x' In [4]: mat.get_backend() Out[4]: 'GTKAgg' Chao On Sun, Sep 9, 2012 at 9:28 PM, Benjamin Root <ben...@ou...> wrote: > > > On Tue, Apr 10, 2012 at 12:43 PM, wiswit <cha...@gm...> wrote: > >> >> Dear all, >> >> I found that the numpoints in legend function for scatter plot is not >> working? >> >> import matplotlib as mat >> import matplotlib.pyplot as plt >> In [59]: mat.__version__ >> Out[59]: '1.1.0' >> >> #ordinary plot working >> fig=plt.figure() >> ax=fig.add_subplot(111) >> ax.plot(np.arange(10),'ro',label='tst') >> ax.legend(numpoints=1) >> plt.show() >> >> #but not scatter plot >> fig=plt.figure() >> ax=fig.add_subplot(111) >> ax.scatter(np.arange(10),np.arange(10),marker='o',label='tst') >> ax.legend(numpoints=1) >> plt.show() >> >> cheers, >> >> chao >> >> > Confirmed... this is still broken. > > Ben Root > -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
Announcement - mplstereonet v0.2 ========================= mplstereonet provides lower-hemisphere equal-area and equal-angle stereonets for matplotlib. Download -------------- Available for download at: http://pypi.python.org/pypi/mplstereonet/0.2 See the github page for more information and development versions: https://github.com/joferkington/mplstereonet About --------- Stereonets are a type of plot commonly used in the geosciences for visualizing and analyzing orientation data. Orientations of linear and planar features are plotted as the intersection of the feature with a hemisphere. (Therefore, linear features plot as points and planar features plot as lines.) mplstereonet provides plotting of planes (measured as strikes and dips), poles to planes, and lineations (measured as rakes along a plane or as plunges and bearings). Additionally, mplstereonet provides orientation density contouring using a variety of standard methods (e.g. "Kamb" contouring, etc). Getting Started ---------------------- The easiest way to get started is to have a look at the examples: https://github.com/joferkington/mplstereonet/tree/master/examples Additionally, the readme has an overview and various examples: https://github.com/joferkington/mplstereonet/blob/master/README.rst Changes ------------- New features in version 0.2 include: - Density contouring of orientation data using a variety of methods - Equal-angle as well as equal-area stereonets - A variety of parsing utilities - Geometric analysis utilities (e.g. plane intersections) Thank you all very much! -Joe Kington
On Tue, Apr 10, 2012 at 12:22 PM, wiswit <cha...@gm...> wrote: > Dear all, I use matplotlib 1.1.0. import matplotlib.pyplot as plt > plt.plot(np.arange(10),'ro',mec='none') when I use plt.show(), there is > only blank frame with axis not no points. but plt.plot(np.arange(10),'ro') > will give good plot with read filled circles and black edges. > plt.scatter(np.arange(10),np.arange(10),c='r',marker='o',edgecolor='none') > is working fine. but I really think plt.plot is a very good and easy > function if you don't make complex scatter points. and the circles look > much nicer than that produced by plt.scatter (thought I don't know why as > they use the same symble....) does anyone else have found the same ? thanks > to all, Chao > This works for me with GTKAgg backend. If this is still a problem for you, which backend are you using? Ben Root
On Tue, Apr 10, 2012 at 12:43 PM, wiswit <cha...@gm...> wrote: > > Dear all, > > I found that the numpoints in legend function for scatter plot is not > working? > > import matplotlib as mat > import matplotlib.pyplot as plt > In [59]: mat.__version__ > Out[59]: '1.1.0' > > #ordinary plot working > fig=plt.figure() > ax=fig.add_subplot(111) > ax.plot(np.arange(10),'ro',label='tst') > ax.legend(numpoints=1) > plt.show() > > #but not scatter plot > fig=plt.figure() > ax=fig.add_subplot(111) > ax.scatter(np.arange(10),np.arange(10),marker='o',label='tst') > ax.legend(numpoints=1) > plt.show() > > cheers, > > chao > > Confirmed... this is still broken. Ben Root
On Tue, May 22, 2012 at 9:18 AM, Stevenson, Samuel < Sam...@co...> wrote: > Hi Ben**** > > ** ** > > I am using 1.0.0. My colleague has 1.1.0 installed on his machine and is > able to reproduce the same problem.**** > > ** ** > > Thanks**** > > > Sam > Going through my old unresolved emails, I came across this one. I suspect that whatever has caused this problem in v1.1.0 is still present in v1.2.0 that we will be putting out an RC for. If you can make a small script that can demonstrate the memory leak, maybe we can track it down and nail this sucker before the final release? Cheers! Ben Root
On 2012年09月09日 8:50 AM, Benjamin Root wrote: > > > On Wed, Aug 15, 2012 at 5:40 AM, Jesper Larsen <jes...@gm... > <mailto:jes...@gm...>> wrote: > > Hi Matplotlib users > > I have an application where performance is critical and matplotlib is > the performance bottleneck. I am making a lot of figures using the > same basic setup of the figure. And from my profiling I can see that > this basic setup accounts for most of the CPU time. Let us say that I > make a given figure including some axes. My questions are: > > 1. Can I make a copy of this figure including axes (copy.deepcopy does > not work on Figure objects) and use the copy for plotting on? > > 2. And how? Should I use the frozen method somehow? > > I did do something similar some years back. But at the time I removed > the stuff I had drawn on the figure. I would like to avoid this for > two reasons: 1) Thread safety, I must be able to draw figures in > several simultaneous threads and 2) I really had to go into some > low-level details in matplotlib (not a show-stopper, but for > maintenance reasons I would like to keep the code as clear as > possible). > > Best regards, > Jesper > > > Jesper, > > An experimental feature that will be available in the upcoming v1.2.0 > release will be pickling support. It is marked as experimental as there > are plenty of untested edge cases, but it should be a huge step in the > right direction for the feature that you and many others have asked > for. We certainly will welcome any and all feedback on what does and > does not pickle well. > > Cheers! > Ben Root Some benchmarking would be useful as well. Pickling/unpickling can be very slow. Eric
On Wed, Aug 15, 2012 at 5:40 AM, Jesper Larsen <jes...@gm...>wrote: > Hi Matplotlib users > > I have an application where performance is critical and matplotlib is > the performance bottleneck. I am making a lot of figures using the > same basic setup of the figure. And from my profiling I can see that > this basic setup accounts for most of the CPU time. Let us say that I > make a given figure including some axes. My questions are: > > 1. Can I make a copy of this figure including axes (copy.deepcopy does > not work on Figure objects) and use the copy for plotting on? > > 2. And how? Should I use the frozen method somehow? > > I did do something similar some years back. But at the time I removed > the stuff I had drawn on the figure. I would like to avoid this for > two reasons: 1) Thread safety, I must be able to draw figures in > several simultaneous threads and 2) I really had to go into some > low-level details in matplotlib (not a show-stopper, but for > maintenance reasons I would like to keep the code as clear as > possible). > > Best regards, > Jesper > > Jesper, An experimental feature that will be available in the upcoming v1.2.0 release will be pickling support. It is marked as experimental as there are plenty of untested edge cases, but it should be a huge step in the right direction for the feature that you and many others have asked for. We certainly will welcome any and all feedback on what does and does not pickle well. Cheers! Ben Root
On 2012年09月08日 5:34 PM, Jody Klymak wrote: > >> >> 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? Jody, A structured array is probably overkill; it would require storing everything as MxN, which may not be necessary. Most of the time, if you have something that is 1-D, you can just keep it in a 1-D array. If you need adcp.time to behave as if it were MxN, you can just use it as-is, because numpy broadcasting will add dimensions to the left as needed. If you need adcp.z to behave as if it were MxN, you can simply index it like this: adcp.z[:, np.newaxis]. Now, for the structure syntax, you can use a class, e.g. class Data: pass adcp = Data() adcp.time = time adcp.z = z adcp.u = u Now your adcp instance is just like the matlab structure. This works, but you might want to use a more flexible container. One variation on the Bunch is here: http://currents.soest.hawaii.edu/hgstage/pycurrents/file/8bf05a53b326/system/misc.py. It is fancier than you need for now, but illustrates the sort of thing you can do with python, and it will work fine even when you don't need all its features. You could initialize it like this: adcp = Bunch(time=time, z=z, u=u) assuming, as before, that you already have individual numpy arrays called time, z, and u. You can still tack on additional attributes, like adcp.something_else = whatever The Bunch allows access using the structure notation, and also using dictionary syntax, so adcp.u is the same as adcp['u']. The dictionary syntax is particularly useful when automating operations, because you can easily iterate over a list of dictionary entries. Regarding the need to pre-allocate: yes, matlab is slicker in this regard, and every now and then there is discussion about implementing equivalent behavior in numpy, or in an add-on module. In many cases you can simply accumulate values in a list, and then at the end use an array constructor to make an ndarray from the list. You can also use the numpy concatenate function, or its derivatives, but this usually makes sense only for gluing together small numbers of arrays. Eric > > Thanks, 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. 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 <jk...@uv... >> <mailto:jk...@uv...>> 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 <pau...@gm... >>> <mailto:pau...@gm...>> 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 >>>> Mat...@li... >>>> <mailto:Mat...@li...> >>>> 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 >>> Mat...@li... >>> <mailto:Mat...@li...> >>> 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 >> Mat...@li... >> 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Jody Klymak http://web.uvic.ca/~jklymak/
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 <jk...@uv... > <mailto:jk...@uv...>> 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 <pau...@gm... >> <mailto:pau...@gm...>> 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 >>> Mat...@li... >>> <mailto:Mat...@li...> >>> 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 >> Mat...@li... >> <mailto:Mat...@li...> >> 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >