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
(10) |
2
(23) |
3
(10) |
4
(4) |
5
(4) |
6
(5) |
7
(16) |
8
(10) |
9
(8) |
10
(13) |
11
(2) |
12
(12) |
13
(15) |
14
(18) |
15
(1) |
16
(5) |
17
|
18
(2) |
19
(2) |
20
(3) |
21
(14) |
22
(8) |
23
(4) |
24
|
25
|
26
|
27
(3) |
28
(3) |
29
(2) |
30
(1) |
31
(5) |
John Hunter <jdh...@ac...> writes: >>>>>> "Charlie" == Charlie Moad <cw...@gm...> writes: > > Charlie> simple pylab script: a = axes() a.set_xticklabels(['a', > Charlie> 'b', 'c']) show() > > Charlie> TypeError: list indices must be integers > > Did someone fix this? I can't replicate it. I had similar problems with an earlier CVS version (using WXAgg), but a recent cvs update command fixed it. Perhaps the problem has been masked instead of fixed, since pylab fails to show the x coordinate of the mouse pointer when I move it around. That is, the text in the bottom right panel is something like "x=, y=3.5016e-1". It seems that the code that caused the exception is related to computing these coordinates. -- Jouni K Seppänen
Whoa! Thank you for all your answers. It's one of the most helpful mailing lists I ever joined. John: >There is some tutorial documentation, particularly Robert Leftwich's >tutorial - http://matplotlib.sourceforge.net/leftwich_tut.txt. This >link recently disappeared (by accident) from the FAQ entry >http://matplotlib.sf.net/faq.html#OO Thank you very much (and kudos for your work, by the way: the more I dive into it, the nicer it looks). I already had seen the faq entry, but the little tutorial by Leftwich with the class list just makes me feel better :) Ken: >An embedding library will give you those features, plus ones which >pylab does not (e.g. printing support, selecting points and regions). Ok. What I wanted to know is if in pylab there were hard-coded features that the MPL OO interface has not, or if these features were already present in MPL but simply had to be called and merged together by the user (don't know if I'm being clear here - anyway you seem to point it's the second, happier case). >It now checks to see if one already exists, so you can to use pylab >from your wxPython application without everything blowing up. Hmm. Evil temptation! But I'm more and more looking at wx embedding,anyway. Anyway it's nice to know it's an option if someone wants to hack something someday. Chris: >Be sure to join the wxpython-users mailing list. They (We) are every >bit as helpful as this group. I really hope so! Niklas: >First of all, why not take a look at an existing solution for AFM: >http://gwyddion.net/ >It looks very good and is already very mature. It provides a plugin >architecture, a modern graphical interface, is portable and seems to be >funded as well. However, it can only analyze surface data, and I don't >know if this is what you meant with '2d graph'. I didn't know about it. It seems really a good app, and I just mailed to my collegues if they know about it, it could help in our lab. Alas, (1) I'm all in that odd "force spectroscopy" thing (despite being two years I work with AFM, I never did an image!), and I don't see mention about it (2) I'd prefer to code my app to cover my needs. Who knows if it will be the app of someone else too? I hope to do a good enough work for it. I don't like that much to hack just for myself. Anyway if you know about good force spectroscopy analysis free software, let me know! Matt: >I would also characterize wxMPL as being focused on the >programmer/script writer, not on the end user of an application. So >it's not exactly a 'wxPython Plot Widget'. But it might make the code >of MPlot easier to use/manage/improve. I don't grasp what do you want to mean... if wxMPL is a wx interface for MPL, it seems focusing on the end user is the programmer's task, isn't it? and it seems right to me. In which sense is MPlot more "focused on the end user"? and what do you mean with "wxMPL is not exactly a 'wxpython plot widget'"? >On using matplotlib bindings and the Navigator toolbars, I'd guess you >don't want to do this. The toolbars are ugly, take up screen real >estate, do stuff you don't need and don't do stuff you do need. I agree toolbars are not essential, but they're nice IMHO. I don't strictly need them, except for the panning and zooming tools. Hope they're not hard to reproduce, should I have a look at the pylab code?). For the bindings, yes, I'd really like consistency between the graphic toolkit and MPL. >Finally, I was very happy to see your >response to the fairly silly 'use some other package', and agree >completely with your sentiment. Well, he just tried to be helpful. Anyway, after having heard both developers, I'm still confused about what to use, if wxMPL or MPlot... I think I'll give wxMPL a try, first. Thank you all for your long and informative answers. It's a bless to have both the MPL, wxMPL and MPlot developers being here to help me, along with such experienced and friendly users. It's two years I use almost exclusively free software, and nevertheless the both technical and human wonders of it don't cease to amaze me. Thank you all. Massimo -- Massimo Sandal University of Bologna Department of Biochemistry "G.Moruzzi" snail mail: Via Irnerio 48, 40126 Bologna, Italy email: mas...@un... tel: +39-051-2094388 fax: +39-051-2094387
Dear Massimo, Sorry I wasn't able to respond sooner. I've been running experiments all day. As a warning, this response may be long, and I won't take the time to be overly polite. So let me say it now: Matplotlib is a great plotting library and John should be knighted. I was in a similar dilemma a little over a year ago when I was comfortable enough with matplotlib and its development that I knew it was what I wanted to commit to using. At that time (late summer 2004), wxmpl did not exist and many of the additions for interactivity in matplotlib did not exist. I had already decided to abandon Tkinter/Pmw.BLT plotting, but it took awhile to find a better solution. Matplotlib is it. And I definitely wanted (and still want) a wxPython plotting widget which is intended to go into applications. Much of matplotlib, and the other responses seem to fail to understand this: I (and I'm assuming you) want a plotting widget that goes into a wxPython application. I want to say something not much harder than plotpanel =3D SomeMatplotLibPanel(wx_parent_id) plotplanel.plot(x,y) And then have the user (that is *MY* user -- the person running the program, not the person writing the script) be able to change the color, change the titles, zoom in, zoom out, print, save to a PNG. MPlot tries to do this. For 2-d line plots, it does this fairly well. It may not be the best code, it certainly could use improvement.=20 Please feel free to make or suggest changes. If you (or anyone else) would like to use it or develop it, please let me know how I can help you. I'd love for it to be improved -- it really needs false color maps soon. OTOH, if something better comes along, I'll happily use it. Pylab is NOT suitable for applications. It assumes that the end user is someone who uses python. Somehow this became the higher priority for matplotlib. I think this is a terrible mistake. Seeing so many examples and questions on this mailing list assuming from pylab import * is really quite sad. To me it suggest this lovely packaged advertised as a library is not being used as a library at all. Matplotlib is far too nice to be an add-on to IPython or used only for writing quick-n-dirty scripts. wxMPL is definitely a very nice wx wrapping of MPL. My recollection is that Ken McIvor wrote wxmpl after I showed him MPlot, but I'd defer to Ken's version of the story. I'm also very happy that Ken's maintaining the wx backend. I definitely spent most of the effort in MPlot on bindings, printing, user configuration, and worrying about being able to 'stripchart' (update a trace at close to 'real time').=20 I'm sure that some of what I wrote could be replaced with wxmpl or matplotlib calls at this point. You may understand my reluctance to do this (like it works and I have my own data to analyze and applications to write), but I would not be opposed to seeing this done. I would also characterize wxMPL as being focused on the programmer/script writer, not on the end user of an application. So it's not exactly a 'wxPython Plot Widget'. But it might make the code of MPlot easier to use/manage/improve. On using matplotlib bindings and the Navigator toolbars, I'd guess you don't want to do this. The toolbars are ugly, take up screen real estate, do stuff you don't need and don't do stuff you do need. I'm sure these are fine when you're doing a quick-n-dirty plot with an 'ipython -pylab' script, but I somehow never need to do that. Using the matplotlib bindings would mean separate kinds of event handlers for a MPL Panel and a non-MPL Panels. I guess that's inevitable, but I'd still suggest sticking with straight wx.Bind methods. I don't think the MPL bindings provide anything that can't easily be reproduced, though it's been awhile since I looked at them. Since you're short on time (we all are), I suggest giving MPlot a spin and see if it does enough of what you need. I'd appreciate hearing what does and doesn't. Finally, I was very happy to see your response to the fairly silly 'use some other package', and agree completely with your sentiment. Cheers, --Matt PS: a very short wxPython / MPlot example: import wx import MPlot import matplotlib.numerix as Num x =3D Numpy.arange(0.0,10.0,0.1) y =3D Numpy.sin(2*x)/(x+2) app =3D wx.PySimpleApp() pframe =3D MPlot.PlotFrame() pframe.plot(x,y) pframe.set_title('Test Plot') pframe.set_xlabel(r'$R (\angstrom)$') pframe.write_message('MPlot PlotFrame example: Try Help->Quick Reference') pframe.Show() pframe.Raise() app.MainLoop()