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
(3) |
2
|
3
(1) |
4
(7) |
5
(7) |
6
(11) |
7
(3) |
8
(4) |
9
(5) |
10
(5) |
11
(15) |
12
(7) |
13
(5) |
14
(4) |
15
(5) |
16
|
17
(4) |
18
(8) |
19
(12) |
20
(11) |
21
(4) |
22
(2) |
23
(4) |
24
(7) |
25
(5) |
26
(13) |
27
(3) |
28
(10) |
29
(3) |
30
(1) |
31
(15) |
|
|
|
|
|
Alan G Isaac wrote: > Since pylab's 'load' function has come up, > it may be worth mentioning that it overrides scipy's load function. > (And of course Numeric has its own 'load'.) Nope, it's just Numeric and pylab that have a load() at top-level. > It may be a bad habit, > but I doubt I'm the only one who occasionally does > from scipy import * > from pylab import * You're definitely *not* the only one. > I would even claim that both encourage this ... > especially for new users. If that is correct, > and if scipy+pylab is a common pair (as I > believe it is), then perhaps ... -- Robert Kern rk...@uc... "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter
On 2005年1月27日 Alan G Isaac apparently wrote: > Since pylab's 'load' function has come up, > it may be worth mentioning that it overrides scipy's load function. Never mind: this is wrong as stated. Sorry for the noise. Alan Isaac
Since pylab's 'load' function has come up, it may be worth mentioning that it overrides scipy's load function. (And of course Numeric has its own 'load'.) It may be a bad habit, but I doubt I'm the only one who occasionally does from scipy import * from pylab import * I would even claim that both encourage this ... especially for new users. If that is correct, and if scipy+pylab is a common pair (as I believe it is), then perhaps ... fwiw, Alan Isaac
Hi, I had a problem with the load function. I have a file with some data in two columns. I'm trying to use load: x,y=load('toto.dat') with toto something like: 1 3 3 4 5 6 I obtained the error message: ValueError: too many values to unpack I understanded why. It's because the array is not use by columns but by lines when you unpack the array from load to x and y so I don't have enough variable. To solve this problem I add the transpose function: x,y=transpose(load('toto.dat')) I don't know if I'm alone with this problem but if yes that will be a good idea to update the help of the function. Thanks, Nicolas
>>>>> "Chris" == Chris Barker <Chr...@no...> writes: Chris> anyway, to cut my rant short, here is my vote for Chris> matplotlib development (not that I get a vote, but Chris> hopefully I'll have time to help out someday) Hey, I live in Chicago -- we pioneered "vote early, vote often". Chris> 2) Improve the OO interface to make it just as easy to use. Do you have some suggestions which would make the OO interface easier to use? For concreteness, here is the archetypal OO script from matplotlib.backends.backend_svg import FigureCanvasSVG from matplotlib.figure import Figure fig = Figure() ax = fig.add_subplot(211) ax.plot([1,2,3]) ax.set_xlabel('time') canvas = FigureCanvasSVG(fig) canvas.print_figure('myfile.svg') Things that leap to my mind: * hide the complexity of having both a canvas and the figure from the user, allowing them to deal only with figures, or at least have the figure store a ref to its canvas and allow you to do fig.savefig('myfig') which can forward the call on to its canvas print_figure method. This would bring the OO interface closer to the pylab interface and would prevent you from having to remember which methods were fig methods and which methods were canvas methods. We could also provide a pylab independent factory function that instantiates a figure and canvas with the relevant initialization, allowing you to do something like fig, canvas = figure_factory(*args, **kwargs) # use the current backend but I'm not sure how advisable it is to hide this complexity because what you ultimately do with the objects depends on whether you are using a GUI backend or not. But for pure image backends it would be possible to have a single OO interface which works across backends. * move the (few) remaining pylab only methods (axis, colorbar) into the OO framework for full compatibility * use properties/traits so you could do ax.xlabel = 'hi mom' while retaining the setters and getters for backwards compatibility * provide more pure OO examples in the examples directory * significant;y expand the OO section of the user's guide Do you have additional ideas? Or are these the issues your were thinking of? JDH
----- Original Message ----- From: John Hunter <jdh...@ac...> > Eg, if you have set your dpi parameter correctly to reflect your > monitor > > from pylab import * > fig = figure(dpi=96) > plot([1,2,3]) > text(1,2,'hi mom', fontsize=72) > show() > > creates text that is an inch high, irrespective of the view port. I > think this is the behavior most people expect, at least those who are > used to thinking about fontsizes in points. Well, I'd rather set the fontsize in Pixels, but I suppose I can do that by setting DPI to 72. However, you generally don't want to zoom text as you zoom in and out, you are zooming in on teh DATA, no the PICTURE of the data. By the way, if you do want that, check out my FloatCanvas, in the wxPython lib. You'll have to draw your own Axes, but if you use ScaledText, you'll get the whole picture to zoom and scroll. -Chris
>>>>> "Stephen" == Stephen Walton <ste...@cs...> writes: Stephen> Nils Wagner wrote: >> How can I add vertical/horizontal lines (x=constant, y=constant >> respectively) to an existing plot with matplotlib ? Stephen> I've always done something like: Stephen> plot(x,y) a=axis() plot(a[0:2],[50,50],'k') Stephen> for example, to get a line at y=50. If there's something Stephen> shorter I'm open to suggestions. if you want to plot a line in data coordinates, you can use vline plot([0,1,2],[3,4,5]) vlines([1], [4,5], hold=True) See also vlines. This x and y location of this line will "move" with the data when you pan and zoom. If you want to plot a line in axes coords, us axvline, where x is in data coords but y is now interpreted as a fraction of the axes width and the x location will not move with pans and zooms. Thus if you want a vertical bar at x=1 that ranges from the top to the bottom, do axvline(1) # ymin=0 (bottom) and ymax=1 (top) default The x location moves with pan/zoom but the y data are fixed. JDH
Hi folks, I am trying to do something similar to: from pylab import * plot([1,2,3,4]) text(1,3,'a)') savefig('test.eps') I can't render the eps file because of the way that "a)" is recorded ["(a)" will render, so its just a parsing issue]. I think, in the eps file "(a)) show" should read "(a\)) show" for the image will render. Changing line 353 in backend_ps.py to self._pswriter.write("(%s) show\n"%s.replace(')','\)').replace('(','\(')) would do the trick. I'm using gentoo linux and matplotlib 0.71. -- Darren
Nils Wagner wrote: > Hi all, > > How can I add vertical/horizontal lines (x=constant, y=constant > respectively) to an existing plot with matplotlib ? > A small example would be appreciated. See http://matplotlib.sourceforge.net/matplotlib.pylab.html#-axhline and http://matplotlib.sourceforge.net/matplotlib.pylab.html#-axvline > > Is there a simple command to plot closed polygons, which are defined > by the coordinates of the vertices ? > http://matplotlib.sourceforge.net/matplotlib.pylab.html#-fill See axhspan_demo.py and fill_demo.py for example usage. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/CDC R/CDC1 Email : Jef...@no... 325 Broadway Web : www.cdc.noaa.gov/~jsw Boulder, CO, USA 80303-3328 Office : Skaggs Research Cntr 1D-124
I know if I modify the code, I can avoid these things. But out of my = eccentric nature, all I am asking is how to do the zooming more nicely? o The zooming of text, as you can test in <mathtext_demo.py>. I remember = once I put some mathtext symbols, as I wished to see the subscript I = tried zoom to see more sharply but I failed. I saved png and zoomed = finally. o The zooming of subplot, as you can test in <axes_demo.py>, well = personally I assume if you zoom on a subplot you would expect it gets = enlarged. o The zooming of crosshaired frontend, as you can test in = <wxcursor_demo.py>, this is minor problem, but when I zoom a random = area, I see a vestigial image of the cross-hair which is a tiny bit = unnatural. And of course the speed of zooming... but I see the pylab is redrawing = the figure so this is understandable. I know this is a plotting module = not an ACDsee or picasa, so forgive my eccentricity. btw: along with this note - how to insert a space in a bunch of mathtext as I wish to put spaces = near '=3D'? - could you stop the interactive console (at least make it configurable) = after the figure is closed so that I don't need to put sys.exit(). Thank you (smile). Bao=20
Nils Wagner wrote: > How can I add vertical/horizontal lines (x=constant, y=constant > respectively) to an existing plot with matplotlib ? I've always done something like: plot(x,y) a=axis() plot(a[0:2],[50,50],'k') for example, to get a line at y=50. If there's something shorter I'm open to suggestions.
On Wednesday 26 January 2005 10:32 am, Perry Greenfield wrote: > On Jan 26, 2005, at 10:14 AM, John Hunter wrote: > >>>>>> "Haibao" == Haibao Tang <ba...@ug...> writes: > > > > Haibao> Hi folks, I've noticed that zooming on the text won't make > > Haibao> the text any larger, and some other instances like > > Haibao> sub-axes share the problem too. And it is not the default > > Haibao> zoom behavior people usually expect. Any solution to that? > > > > Well, I suspect we'd have to poll people to know whether this is the > > behavior they usually expect.... > > Exactly. I'd guess that most people would not want the text to zoom. I > don't. If one takes zooming as a literal zoom of everything in the > field, yes, I can understand that is what some might expect. But what > is really most useful? I doubt that literal zooming is in the great > majority of cases. I also would expect the default behavior to not zoom the text. -- Darren
Hi all, How can I add vertical/horizontal lines (x=constant, y=constant respectively) to an existing plot with matplotlib ? A small example would be appreciated. Is there a simple command to plot closed polygons, which are defined by the coordinates of the vertices ? Thanks in advance. Nils
On Jan 26, 2005, at 10:14 AM, John Hunter wrote: >>>>>> "Haibao" == Haibao Tang <ba...@ug...> writes: > > Haibao> Hi folks, I've noticed that zooming on the text won't make > Haibao> the text any larger, and some other instances like > Haibao> sub-axes share the problem too. And it is not the default > Haibao> zoom behavior people usually expect. Any solution to that? > > Well, I suspect we'd have to poll people to know whether this is the > behavior they usually expect.... > Exactly. I'd guess that most people would not want the text to zoom. I don't. If one takes zooming as a literal zoom of everything in the field, yes, I can understand that is what some might expect. But what is really most useful? I doubt that literal zooming is in the great majority of cases. Perry
On Wed, 2005年01月26日 at 10:09, John Hunter wrote: > >>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: > > Hans> I didn't make myself very clear, or I have misunderstood the > Hans> meaning of "interactive". I presumed that 'interactive' > Hans> means: I issue the plot command and the figure pops up > Hans> immediatly, etc. > > Hans> Not interactive (in my understanding) means that I issue all > Hans> the matplotlib commands I'd like to use and at the end I can > Hans> use show() to display the picture. > > This partially but not completely correct, but it is admittedly > confusing. Make sure you have read > http://matplotlib.sourceforge.net/interactive.html and > http://matplotlib.sourceforge.net/faq.html#SHOW . As emphasized in > the FAQ > > IMPORTANT: show should called at most once per script and it should > be the last line of your script. At that point, the GUI takes > control of the interpreter. If you want to force a figure draw, use > draw instead. > > If you are issuing plot commands from idle, you need interactive : > True, you should not use show, and if you want finer control of when > the plot pops up and it drawn, use the commands ion, ioff and draw, as > explained on the interactive.html link. > > Hope this helps -- if you still encounter problems please let us know > because it is always possible there is a bug .... I'm really busy this morning (like what else is new for any of us), but I can confirm that there is a bug in 0.71. The root cause is that an "extra" mainloop is now run by matplotlib in "Idle -n" which already has a mainloop of its own. I think the key to solving this class of problem is to detect the presence of "freebe" mainloops to avoid running two mainloops while ensuring that we run at least one. To do this, I'm hoping matplotlib can ask Tkinter if a mainloop is running or not. The only alternative that occurs to me is to detect the presence of particular shells and maintain knowledge about the "freebe mainloop" status of each. This morning, I tried to detect IDLE using "'idlelib.__main__' in sys.modules.keys()" and was able to fix the current bug by suppressing the mainloop and assuming that "Idle -n" is running and not "Idle". It would be much better to detect the mainloop directly though. Regards, Todd
>>>>> "Haibao" == Haibao Tang <ba...@ug...> writes: Haibao> Hi folks, I've noticed that zooming on the text won't make Haibao> the text any larger, and some other instances like Haibao> sub-axes share the problem too. And it is not the default Haibao> zoom behavior people usually expect. Any solution to that? Well, I suspect we'd have to poll people to know whether this is the behavior they usually expect.... Text locations are in data coordinates, but text sizes are physical sizes, ie 12 points equal 12/72 inches, approximately... Physical sizes don't change when you zoom in because the physical size of the font will not change when you change the view limits of the data coordinate system. Eg, if you have set your dpi parameter correctly to reflect your monitor from pylab import * fig = figure(dpi=96) plot([1,2,3]) text(1,2,'hi mom', fontsize=72) show() creates text that is an inch high, irrespective of the view port. I think this is the behavior most people expect, at least those who are used to thinking about fontsizes in points. JDH
>>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: Hans> I didn't make myself very clear, or I have misunderstood the Hans> meaning of "interactive". I presumed that 'interactive' Hans> means: I issue the plot command and the figure pops up Hans> immediatly, etc. Hans> Not interactive (in my understanding) means that I issue all Hans> the matplotlib commands I'd like to use and at the end I can Hans> use show() to display the picture. This partially but not completely correct, but it is admittedly confusing. Make sure you have read http://matplotlib.sourceforge.net/interactive.html and http://matplotlib.sourceforge.net/faq.html#SHOW . As emphasized in the FAQ IMPORTANT: show should called at most once per script and it should be the last line of your script. At that point, the GUI takes control of the interpreter. If you want to force a figure draw, use draw instead. If you are issuing plot commands from idle, you need interactive : True, you should not use show, and if you want finer control of when the plot pops up and it drawn, use the commands ion, ioff and draw, as explained on the interactive.html link. Hope this helps -- if you still encounter problems please let us know because it is always possible there is a bug .... JDH
>>>>> "Humufr" == Humufr <hu...@ya...> writes: Humufr> Hi John, I saw that you add in the load function Humufr> the possibility to have some line comment with the Humufr> character '%'. I would like to change this function and Humufr> generalize a little bit this. Not everyone is using the Humufr> character '%' but some other like '#' or '!'. So I add Humufr> this possibilty to the function. I don't know if you are Humufr> agree with it but in case I join the change below. OK, that's a good idea. I added it to pylab.py. In the future, please add changes to the docstring as well when you change the function, so that folks who do help(load) will get some information on what the comments kwarg does. Thanks... Humufr> Another things, I think there are a small bug for the Humufr> Tkagg backend. When I close the windows instead to come Humufr> back to my shell I'm arriving in a python shell. I tried Humufr> (when I had my laptop) with the Gtkagg backend and I Humufr> didn't notice this problem. Not technically a bug, as it was intentional, but perhaps an annoyance. In order for python to work with idle, we need this line os.environ['PYTHONINSPECT'] = '1' in the show function of backends/backend_tkagg.py. If you comment out this line the shell will not be raised. Todd, any objection to making this an rc parameter, so that people can optionally have this feature? Something like tk.window_focus : False # Maintain shell focus for TkAgg tk.pythoninspect : False # True for interactive idle JSH
John, >>>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: > > Hans> Hm. Have upgraded to 0.71. Now I don't get the error message > Hans> anymore, however, once I close the figure window, the IDLE > Hans> (-n) prompt doesn't respond anymore. (Same scenario as > Hans> described in last email.) > > Hans> Ideas? > Well, if you are using matplotlib interactively from within IDLE< then > interactive : True should be set in your rc file, no? I didn't make myself very clear, or I have misunderstood the meaning of "interactive". I presumed that 'interactive' means: I issue the plot command and the figure pops up immediatly, etc. Not interactive (in my understanding) means that I issue all the matplotlib commands I'd like to use and at the end I can use show() to display the picture. I presumed that when I close the figure windows (by clicking on the right symbol on the window), I could carry on using the IDLE session (in this example). Here is the bit that I didn't expect and assumed would be some kind of bug: I need to kill IDLE (when clicking on the [X] symbol in the upper right hand corner of the IDLE -n window in MS XP, I get the message :" The program is still running! Do you want to kill it?"). In summary, I can't carry on using the session once I have used the show() command. Thanks, Hans
>>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: Hans> Hm. Have upgraded to 0.71. Now I don't get the error message Hans> anymore, however, once I close the figure window, the IDLE Hans> (-n) prompt doesn't respond anymore. (Same scenario as Hans> described in last email.) Hans> Ideas? Well, if you are using matplotlib interactively from within IDLE< then interactive : True should be set in your rc file, no? JDH
Hi John, > Hans> The figure windows is interacting (despite the error > Hans> message). Once I close the figure window, I can't get back > Hans> to the Python prompt; i.e. the shell doesn't respond any > Hans> more. > > Hans> Do we expect matplotlib (0.70.1) to work in non-interactive > Hans> mode with "IDLE -n"? > > This is an unrelated bug fixed in 0.71. > > Thanks for the report! Hm. Have upgraded to 0.71. Now I don't get the error message anymore, however, once I close the figure window, the IDLE (-n) prompt doesn't respond anymore. (Same scenario as described in last email.) Ideas? > JDH > > > > > > > > ------------------------------------------------- Dr Hans Fangohr Computational Engineering & Design Research Group School of Engineering Sciences University of Southampton Southampton, SO17 1BJ United Kingdom Location: Building 25, Room 1027 phone : +44 (0) 23 8059 8345 fax : +44 (0) 23 8059 7082 email : fa...@so... -------------------------------------------------
Hi John, I saw that you add in the load function the possibility to have some line comment with the character '%'. I would like to change this function and generalize a little bit this. Not everyone is using the character '%' but some other like '#' or '!'. So I add this possibilty to the function. I don't know if you are agree with it but in case I join the change below. Another things, I think there are a small bug for the Tkagg backend. When I close the windows instead to come back to my shell I'm arriving in a python shell. I tried (when I had my laptop) with the Gtkagg backend and I didn't notice this problem. Thanks. Nicolas def load(fname,comments='%'): """ Load ASCII data from fname into an array and return the array. The data must be regular, same number of values in every row fname can be a filename or a file handle matfile data is not currently supported, but see Nigel Wade's matfile ftp://ion.le.ac.uk/matfile/matfile.tar.gz Example usage: x,y = load('test.dat') # data in two columns X = load('test.dat') # a matrix of data x = load('test.dat') # a single column of data """ if is_string_like(fname): fh = file(fname) elif hasattr(fname, 'seek'): fh = fname else: raise ValueError('fname must be a string or file handle') X = [] numCols = None for line in fh: line = line[:line.find(comments)].strip() if not len(line): continue row = [float(val) for val in line.split()] thisLen = len(row) if numCols is not None and thisLen != numCols: raise ValueError('All rows must have the same number of columns') X.append(row) X = array(X) r,c = X.shape if r==1 or c==1: X.shape = max([r,c]), return X
>>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: Hans> The figure windows is interacting (despite the error Hans> message). Once I close the figure window, I can't get back Hans> to the Python prompt; i.e. the shell doesn't respond any Hans> more. Hans> Do we expect matplotlib (0.70.1) to work in non-interactive Hans> mode with "IDLE -n"? This is an unrelated bug fixed in 0.71. Thanks for the report! JDH
Hi John, I am coming back to our earlier discussion ... >>>>>>> "Hans" == Hans Fangohr <H.F...@so...> writes: >> >>> Hm. Done that. A figure window pops up immediately but is >>> not being updated correctly: a part of the graph is visible, >>> the other part of the figure (which was underneath another >>> window initially) appears white. The titel of the figure >>> says "Figure 1 (Not responding)". IDLE, however, responds >>> happily ;-) T >> >> Todd, many moons ago you wrote me and said I had inadvertently screwed >> up something in tkagg show that broke the idle -n behavior. If I >> recall correctly, we never reverted, since I didn't understand exactly >> what to do. Perhaps you could revisit the current tkagg versus the >> old one to make sure it is right. >> >> Hans, does it make a difference if you uncomment >> >> #os.environ['PYTHONINSPECT'] = '1' >> >> in the show method of >> site-packages/matplotlib/backends/backend_tkagg.py? You should set >> 'interactive : True' as Todd suggested. Do not use show, as it is not >> designed for interactive use. I suggest carefully testing all 4 >> combinations: with and without the PYTHONINSPECTmline, and with and >> without -n. > > Setting 'interactive=True' in .matplotlibrc > > IDLE #os.environ['PYTHONINSPECT'] = '1' -> fail > IDLE -n #os.environ['PYTHONINSPECT'] = '1' -> fail > IDLE os.environ['PYTHONINSPECT'] = '1' -> fail > IDLE -n os.environ['PYTHONINSPECT'] = '1' -> success > > So that's good. This doesn't work in non-interactive mode. What I observe is this: - start Idle with -n (the "==== No Subprocess ====" message appears). - at prompt issue commands: >>>import pylab >>>pylab.plot(range(10)) >>>pylab.show() - figure windows shows up - python reports this error message: >>> pylab.show() Exception in Tkinter callback Traceback (most recent call last): File "C:\Python23\lib\lib-tk\Tkinter.py", line 1345, in __call__ return self.func(*args) File "C:\Python23\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 215, in key_release FigureCanvasBase.key_release_event(self, key) File "C:\Python23\Lib\site-packages\matplotlib\backend_bases.py", line 677, in key_release_event event = KeyEvent('key_release_event', self, key, self._lastx, self._lasty) File "C:\Python23\Lib\site-packages\matplotlib\backend_bases.py", line 640, in __init__ LocationEvent.__init__(self, name, canvas, x, y) File "C:\Python23\Lib\site-packages\matplotlib\backend_bases.py", line 566, in __init__ if a.in_axes(self.x, self.y): File "C:\Python23\Lib\site-packages\matplotlib\axes.py", line 1544, in in_axes return self.bbox.contains(xwin, ywin) TypeError: float() argument must be a string or a number The figure windows is interacting (despite the error message). Once I close the figure window, I can't get back to the Python prompt; i.e. the shell doesn't respond any more. Do we expect matplotlib (0.70.1) to work in non-interactive mode with "IDLE -n"? Thanks, Hans
As a protanope, and knowing that lots of folks with interest in graphics frequent this newsgroup, I thought I'd call everyone's attention to the article entitled "The End of the Rainbow? Color Schemes for Improved Data Graphics" which appeared in the 5 October 2004 issue of the American Geophysical Union's weekly newsmagazine EOS. A Web site with the sample color schemes and a copy of the article is at http://geography.uoregon.edu/datagraphics/