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
(4) |
2
(20) |
3
(8) |
4
(10) |
5
(4) |
6
(8) |
7
(4) |
8
(9) |
9
(11) |
10
(12) |
11
(13) |
12
(3) |
13
(17) |
14
(4) |
15
|
16
(10) |
17
(9) |
18
(11) |
19
(4) |
20
(17) |
21
(6) |
22
(9) |
23
(35) |
24
(17) |
25
(9) |
26
(16) |
27
(17) |
28
(14) |
Durand wrote: > On 2009年2月02日 19:57:15 -0000, Ryan May <rm...@gm...> wrote: > > I think it makes sense to accept only numbers but I suppose it's needed for backwards compatibility. Maybe you could have a deprecation warning? > >> This is fixed in SVN head now so that strings will work again (though I wouldn't >> exactly say that this is supported.) >> >> Durand wrote: >>> On 2009年2月02日 19:30:58 -0000, Darren Dale <dsd...@gm...> wrote: >>> >>> Oh and thinking about it, I think matplotlib needs a better error message. Maybe something will less recursions =] >>> I'd call it an implementation specific detail. Since it's not advertised as a feature, I don't feel bad if it goes away in the future by changing the implementation. The purpose of 'fixing' it was only to eliminate the infinite recursion. :) Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma
On Mon, Feb 2, 2009 at 20:29, C M <cmp...@gm...> wrote: > I'm doing some date plotting and make use of dateutil. The version > I have is given as 1.2-mpl and I believe it installed directly with the > latest matplotlib installation. > > My problem is with dateutil's microsecond precision. An example: > >>>> date = '2009-01-11 03:55:23.255000' >>>> d = dateutil.parser.parse(date) >>>> d > datetime.datetime(2009, 1, 11, 3, 55, 23, 254999) > > Note the microseconds of the datetime object are 254999, > whereas the original date string given was 255000. This matters > to me in that I am matching to a database and would prefer to > have the two values just match without further manipulation. > > I thought maybe newer versions of dateutil would have had this > issue worked out. I see there is a dateutil 1.4.1 available, here: > http://labix.org/python-dateutil Yes it's fixed: $ python Python 2.5.2 (r252:60911, Jan 4 2009, 21:59:32) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import dateutil.parser >>> dateutil.__version__ '1.4.1' >>> date = '2009-01-11 03:55:23.255000' >>> d = dateutil.parser.parse(date) >>> d datetime.datetime(2009, 1, 11, 3, 55, 23, 255000) Regards, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi
On 2009年2月02日 19:57:15 -0000, Ryan May <rm...@gm...> wrote: I think it makes sense to accept only numbers but I suppose it's needed for backwards compatibility. Maybe you could have a deprecation warning? > This is fixed in SVN head now so that strings will work again (though I wouldn't > exactly say that this is supported.) > > Durand wrote: >> On 2009年2月02日 19:30:58 -0000, Darren Dale <dsd...@gm...> wrote: >> >> Oh and thinking about it, I think matplotlib needs a better error message. Maybe something will less recursions =] >> >> Thanks again. >> ...
This is fixed in SVN head now so that strings will work again (though I wouldn't exactly say that this is supported.) Durand wrote: > On 2009年2月02日 19:30:58 -0000, Darren Dale <dsd...@gm...> wrote: > > Oh and thinking about it, I think matplotlib needs a better error message. Maybe something will less recursions =] > > Thanks again. > >> On Mon, Feb 2, 2009 at 2:17 PM, Durand <du...@gm...> wrote: >> >>> Hi, >>> I'm using matplotlib on Ubuntu Jaunty and a script that I wrote recently >>> stopped working. I think this may have something to do with changes in >>> matplotlib as it fails with the error pasted at http://pastebin.ca/1325576and the main problem is that I can't actually work out what the error is >>> because it just recurses until python stops it. >>> I don't think this is a fault of my script so it might be a bug with >>> matplotlib but I'm really not sure... >>> >>> The matplotlib version is 0.98.5.2-1 but I'm not sure that that will help. >>> Numpy version is 1:1.1.1-2 and Python is 2.5.4. If I need to add more >>> details, please ask. >>> >> >> It would help to know what exactly you are passing to plot(). I suspect that >> you are passing strings at some point where you should be passing numbers. >> >> Darren >> > > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma
On 2009年2月02日 19:30:58 -0000, Darren Dale <dsd...@gm...> wrote: Oh and thinking about it, I think matplotlib needs a better error message. Maybe something will less recursions =] Thanks again. > On Mon, Feb 2, 2009 at 2:17 PM, Durand <du...@gm...> wrote: > >> Hi, >> I'm using matplotlib on Ubuntu Jaunty and a script that I wrote recently >> stopped working. I think this may have something to do with changes in >> matplotlib as it fails with the error pasted at http://pastebin.ca/1325576and the main problem is that I can't actually work out what the error is >> because it just recurses until python stops it. >> I don't think this is a fault of my script so it might be a bug with >> matplotlib but I'm really not sure... >> >> The matplotlib version is 0.98.5.2-1 but I'm not sure that that will help. >> Numpy version is 1:1.1.1-2 and Python is 2.5.4. If I need to add more >> details, please ask. >> > > > It would help to know what exactly you are passing to plot(). I suspect that > you are passing strings at some point where you should be passing numbers. > > Darren >
On 2009年2月02日 19:30:58 -0000, Darren Dale <dsd...@gm...> wrote: Hmm... I was passing strings! That is really weird because it used to work when I just passed strings and I have no idea why. I guess I should have converted to numbers right from the beginning. Anyway, I've fixed it by using int and float convertors! Did something change with matplotlib recently? I normally use the right types and it had been working for about 6 months with string types. Thanks a lot! > On Mon, Feb 2, 2009 at 2:17 PM, Durand <du...@gm...> wrote: > >> Hi, >> I'm using matplotlib on Ubuntu Jaunty and a script that I wrote recently >> stopped working. I think this may have something to do with changes in >> matplotlib as it fails with the error pasted at http://pastebin.ca/1325576and the main problem is that I can't actually work out what the error is >> because it just recurses until python stops it. >> I don't think this is a fault of my script so it might be a bug with >> matplotlib but I'm really not sure... >> >> The matplotlib version is 0.98.5.2-1 but I'm not sure that that will help. >> Numpy version is 1:1.1.1-2 and Python is 2.5.4. If I need to add more >> details, please ask. >> > > > It would help to know what exactly you are passing to plot(). I suspect that > you are passing strings at some point where you should be passing numbers. > > Darren >
On Mon, Feb 2, 2009 at 2:17 PM, Durand <du...@gm...> wrote: > Hi, > I'm using matplotlib on Ubuntu Jaunty and a script that I wrote recently > stopped working. I think this may have something to do with changes in > matplotlib as it fails with the error pasted at http://pastebin.ca/1325576and the main problem is that I can't actually work out what the error is > because it just recurses until python stops it. > I don't think this is a fault of my script so it might be a bug with > matplotlib but I'm really not sure... > > The matplotlib version is 0.98.5.2-1 but I'm not sure that that will help. > Numpy version is 1:1.1.1-2 and Python is 2.5.4. If I need to add more > details, please ask. > It would help to know what exactly you are passing to plot(). I suspect that you are passing strings at some point where you should be passing numbers. Darren
I'm doing some date plotting and make use of dateutil. The version I have is given as 1.2-mpl and I believe it installed directly with the latest matplotlib installation. My problem is with dateutil's microsecond precision. An example: >>> date = '2009-01-11 03:55:23.255000' >>> d = dateutil.parser.parse(date) >>> d datetime.datetime(2009, 1, 11, 3, 55, 23, 254999) Note the microseconds of the datetime object are 254999, whereas the original date string given was 255000. This matters to me in that I am matching to a database and would prefer to have the two values just match without further manipulation. I thought maybe newer versions of dateutil would have had this issue worked out. I see there is a dateutil 1.4.1 available, here: http://labix.org/python-dateutil But I can't seem to install it. If I go into its downloaded directory and in the Win command line write "python setup.py install" it complains "No module named setuptools". (I can usually install things in this way fine). Can anyone help me out? And can matplotlib include the more updated version of dateutil in its future releases? Thanks, Che
Hi, I'm using matplotlib on Ubuntu Jaunty and a script that I wrote recently stopped working. I think this may have something to do with changes in matplotlib as it fails with the error pasted at http://pastebin.ca/1325576 and the main problem is that I can't actually work out what the error is because it just recurses until python stops it. I don't think this is a fault of my script so it might be a bug with matplotlib but I'm really not sure... The matplotlib version is 0.98.5.2-1 but I'm not sure that that will help. Numpy version is 1:1.1.1-2 and Python is 2.5.4. If I need to add more details, please ask. Thanks.
On Mon, Feb 02, 2009 at 03:47:32PM +0000, Chris Walker wrote: > One of the things I liked about Gael's article was its discussion of > threading - separating the gui from the calculations from the data > acquisition. Thanks. Be aware that this is a rats nest, though, as threading is the best way to reveal all the subtleties of an event loop, and the various race conditions that you can have with it. The strong model/view separation that is implicit in Traits allows to hide the code making the view thread-safe in the Traits code updating implicitly the view. You can build these constraints in your multi-threaded application (I believe I touch a couple of words on this in my tutorial), but you have to be aware of the problems and the good patterns to answer them. To sum up, I am not saying this is uninteresting, on the contrary, I am just saying that such text is hard to write (which makes a good text even more interesting). My 2 cents, Gaël
On Sun, Feb 01, 2009 at 11:59:06PM +0100, Sandro Tosi wrote: > Hi Chris, > thanks for your reply, helpful as usual :) > > On Fri, Jan 30, 2009 at 18:59, Chris Walker > <ch...@ch...> wrote: > > Firstly, good luck with the book. > > cheers :) > > > The sort of book I'd buy would explain how to use the combination of > > matplotlib/ipython/scipy/numpy to analyse data. > > Sadly, that would not the book I'll write :( The editor wanted to > target another audience for the book: experienced python developers, > with no knowledge of matplotlib; so an introductionary book, that will > show even how to integrate mpl on GTK/WX application and on the web. > > I pushed to have something about science, and a chapter will be about > that, but I need your (all) inputs, because my science days are long > back in the past ;) Sure - though anyone wanting to use matplotlib is likely to be acquiring, manipulating and then plotting data. > > >> - what are the (basic) things that, when you were beginning to use > >> matplotlib, you wanted to see grouped up but couldn't find? > >> - what would you like to see in a book about matplotlib? > > > > Start off by reading data from a file, plotting it and fitting a > > function to that data. > > That sounds something that could land in the "science" chapter. Indeed. > > > Plotting with related scales > > ---------------------------- > > > > Sometimes it is useful to plot related scales on x1 and x2 axes. I've > > come across this several times in different contexts. In its simplest > > form, there is a linear relationship between the axes. In a mechanical test, you might want extension on the x1 axis and strain on the x2 axis (for example). > > > > Sometimes there is not a linear relationship. For example you might > > want to plot frequency (or photon energy) on x1 and wavelength on x2. > > > > An even more complex example is a Hall-Petch plot: > > > > (Yield Stress) = k/sqrt(Grain Size) > > > > So plotting 1/Sqrt(Grain Size) on the X1 axis gives a linear > > plot, but it would be useful to plot the grain size on the X2 scale. > > Err, I think I lost you ;) Figure 3b/3c at http://dcwww.camd.dtu.dk/~schiotz/papers/risoesymp/html/node3.html is an example - note that the y2 scale is not linear. > > What you want is 2 plots on the same figure? so not 2 Ys for the same > X 2 scales on the same figure, yes. > (let's say X is time, and Y1 is stock price variation, and Y2 is the > percentage change), you want X1-Y1 (let's say on the bottom-left) and > X2-Y2 (on the upper-right): did I get you? Exactly. http://en.wikipedia.org/wiki/File:Body_mass_index_chart.svg is the sort of thing I had in mind. > > > ipython and emacs > > ----------------- > > > > Suppose I want to write a script to analyse some data (perhaps I want > > a record of what I've done, or perhaps I'd like to perform the same > > analysis on several data sets). I'd probably do so in emacs - but it > > is useful to do some experimentation in ipython - tab completion is > > particularly useful. I feel there must be a good way to do my > > experimentation in ipython and save the important bits in emacs - but > > I've not sat down and worked out an efficient way of doing this. > > I think the preferred way to do so it using ipython, and for now I > plan only to show it on the book. Whether or not this make it into the book, I'm interested in how people do this. Surely you don't write your application using just ipython do you? > > > Data aqcuisition and experimental control: > > ----------------------------------------- > > > > Writing a simple application to acquire data - ideally from multiple > > sources and plot the data as it is acquired. In my case I wanted to > > combine mechanical with electrical tests. A couple of interesting > > articles by G Varoquaux are listed at > > http://wiki.debian.org/DebianScience/DataAcquisition > > > > This is perhaps beyond the scope of the book, but it has come up on > > the mailing lists a couple of times. The ideal application would have > > a gui for simple use, but a command line (probably ipython) for more > > more complex use - perhaps performing a series of tests under > > different conditions. > > I thought about an example for this already! :) Excellent. > I thought to develop a > sample application for GTK/WX that display some system value (like cpu > usage or so, in this way everyone can run the example) plotting the > information as it comes (for 30 secs, for example). One of the things I liked about Gael's article was its discussion of threading - separating the gui from the calculations from the data acquisition. > > > Some discussion of plotting non gridded 2d data should also be in > > there. > > for example? Something like: http://matplotlib.sourceforge.net/examples/pylab_examples/griddata_demo.html It is something I have encountered several times. Another example I had in mind is: http://www.sci.muni.cz/~mikulik/gallery.html#GaAlAsFishAtPM http://www.sci.muni.cz/~mikulik/gnuplot.html I've taken similar measurements in the past - and one often takes measurements equally spaced in real space which results in them not being equally spaced in reciprocal space. > > >> Your suggestions are really appreciated :) And wish me good luck! > > > > I don't think it is the thrust of your book, but another book I was > > looking for is "A cookbook of Numerical simulations of classic > > physics/engineering problems". For use by physicists/engineers who > > don't want to rewrite things from scratch. > > As said, even if my degree is in linear algebra, my science days are > gone, so it won't be in the book, if not for that chapter about > science and mpl. It is worth a book in itself. > > > Good luck. Another thing that springs to mind is to mention the distributed/parallel abilities of the latest version of ipython[1]. Given the thrust of your book, then perhaps it won't make it in though. Chris [1] Unfortunately ipython 0.9.1 won't make Debian lenny - scheduled to be released real soon now - but will perhaps be out there when your book is published.
Ramashish Baranwal <ram...@gm...> writes: > x = range(10) > y = [random.randint(-10, 10) for i in x] > bar(x, y) > > What I want is a line to be drawn at y=0. Any idea how to get it done? How about axhline: axhline(color='k', lw=1) See the documentation of axhline (and hlines) for more. -- Jouni K. Seppänen http://www.iki.fi/jks
matplotlib uses some C-based contouring code that began life in GIST. You can see it here: http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/src/cntr.c?revision=5781&view=markup It has some limitations, notably around certain donut-shaped contours, and a number of us have made attempts to improve it or replace it with something else suitably licensed, but that's the best we've been able to do for now. Mike Lionel Roubeyrie wrote: > Hi all, > just a little question : how matplotlib computes contours? Is it based > on an internal library? Is it possible to access it from outside? > Thanks > > Le vendredi 30 janvier 2009 à 10:22 -0500, Eli Brosh a écrit : > >> Hello again, >> I finally found the command I was looking for. It is the >> to_polygons(). >> Here is what worked : >> >> # make a LineCollection of contours >> col=contour(X,Y,Z,LevelsNumber).collections >> >> >> for i in np.arange(0,LevelsNumber,1): >> polygoni=col[i].get_paths()[0].to_polygons()[0] >> print polygoni >> >> All the vertices in each collections are extracted to the "polygoni". >> >> Thanks again to Jeff and Patrick ! >> >> By the way, I found out that I do not actually need this procedure to >> achieve may goal >> which was to make a contour plot in ternary coordinates. >> >> Eli >> >> >> >> On Tue, Jan 27, 2009 at 11:08 PM, Patrick Marsh >> <pat...@gm...> wrote: >> On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <eb...@gm...> >> wrote: >> > Many thanks to Jeff and to Patric ! >> > I will try to work along the line suggested by Jeff. >> > Patric, please send me your code. >> > I hope to learn from it. >> > >> > Thanks again, >> > Eli >> >> >> >> Here is a template that can be used. I use this for >> meteorological >> models, but should work with any gridded file. >> >> >> import numpy as np >> from mpl_toolkits.basemap import Basemap >> >> f = (some gridded file) >> X = np.array(grab longitudes from f) >> Y = np.array(grab latitudes from f) >> field = np.array(grab field to be contoured from f) >> map = Basemap(make a Basemap call here) >> level = np.arange(minval, maxval, interval) >> col = map.contour(X, Y, field, level).collections >> >> for vertex in col[i].get_paths(): # GET THE PATHS FOR THE >> EACH >> CONTOUR BY LOOPING THROUGH CONTOURS >> for vertex in xy.vertices: # ITERATE OVER THE PATH >> OBJECTS >> x, y = map(vertex[0],vertex[1],inverse=True) # >> vertex[0] >> and now 'x' is the longitude of the vertex and vertex[1] and >> now 'y' >> is the latitude of the vertex >> >> >> Let me know how this works. >> >> -Patrick >> >> >> >> >> >> >> >> >> >> >> > >> > On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh >> <pat...@gm...> >> > wrote: >> >> >> >> On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker >> <js...@fa...> wrote: >> >> > Eli Brosh wrote: >> >> >> Hello, >> >> >> I am trying to extract the coordinates of contour lines. >> >> >> I tried the following: >> >> >> >> >> >> cs = *contour*(Z) >> >> >> for lev, col in zip(cs.levels, cs.collections): >> >> >> s = col._segments >> >> >> >> >> >> that I found in a previous post (title "contouring", by >> Jose >> >> >> Gómez-Dans-2 >> <http://www.nabble.com/user/UserProfile.jtp?user=30071> >> >> >> Nov 30, 2007; 07:47am ) . >> >> >> >> >> >> I hoped that s will be a list of numpy arrays, each >> containing the >> >> >> (x,y) vertices >> >> >> defining a contour line at level lev. >> >> >> However, I got an error message: >> >> >> AttributeError: 'LineCollection' object has no attribute >> '_segments' >> >> >> >> >> >> >> >> >> How is it possible to get coordinates of the contours, >> similar to the >> >> >> MATLAB command >> >> >> [C,H] = *CONTOUR*(...) >> >> >> where the result in C is the coordinates of the >> contours. >> >> >> >> >> >> A similar question appeared in a post "contour data" (by >> Albert Swart >> >> >> <http://www.nabble.com/user/UserProfile.jtp?user=382945> >> May 17, 2006; >> >> >> 09:42am) but I could not understand the answer. >> >> >> Is it possible to get more specific directions with a >> simple example ? >> >> >> >> >> >> >> >> >> Thanks >> >> >> Eli >> >> > Eli: Calling get_paths() on each line collection in >> CS.collections will >> >> > return a list of Path objects. From the Path objects, >> you can get a Nx2 >> >> > array of vertices from the "vertices" attribute. There >> are no examples >> >> > that I know of, but if you get it to do what you want to >> do, it would be >> >> > great if you could contribute an example. As you noted, >> this question >> >> > has come up several times before. >> >> > >> >> > -Jeff >> >> > >> >> > -- >> >> > Jeffrey S. Whitaker Phone : (303)497-6313 >> >> > Meteorologist FAX : (303)497-6449 >> >> > NOAA/OAR/PSD R/PSD1 Email : >> Jef...@no... >> >> > 325 Broadway Office : Skaggs Research Cntr >> 1D-113 >> >> > Boulder, CO, USA 80303-3328 Web : >> http://tinyurl.com/5telg >> >> > >> >> > >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ >> >> > This SF.net email is sponsored by: >> >> > SourcForge Community >> >> > SourceForge wants to tell your story. >> >> > http://p.sf.net/sfu/sf-spreadtheword >> >> > _______________________________________________ >> >> > Matplotlib-users mailing list >> >> > Mat...@li... >> >> > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > >> >> >> >> I'm not sure if this is entirely what you (Eli) are looking >> for, but I >> >> have code that will contour model data on a map and then >> extract the >> >> lat,lon pairs of all the vertices. If this is what you are >> looking >> >> for, I'm happy to share what I've done. >> >> >> >> -Patrick >> >> >> >> -- >> >> Patrick Marsh >> >> Graduate Research Assistant >> >> School of Meteorology >> >> University of Oklahoma >> >> http://www.patricktmarsh.com >> > >> > >> >> >> >> >> -- >> >> Patrick Marsh >> Graduate Research Assistant >> School of Meteorology >> University of Oklahoma >> http://www.patricktmarsh.com >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sf-spreadtheword >> _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Hi, I am creating a bar graph which contains negative values on y-axis. Everything is fine, but there is no line corresponding to y=0, so the bars seem a bit weird. Here is a short example- x = range(10) y = [random.randint(-10, 10) for i in x] bar(x, y) What I want is a line to be drawn at y=0. Any idea how to get it done? Apologies if this has been asked before. I searched but couldn't find a way. Thanks, Ram
Hi all, just a little question : how matplotlib computes contours? Is it based on an internal library? Is it possible to access it from outside? Thanks Le vendredi 30 janvier 2009 à 10:22 -0500, Eli Brosh a écrit : > Hello again, > I finally found the command I was looking for. It is the > to_polygons(). > Here is what worked : > > # make a LineCollection of contours > col=contour(X,Y,Z,LevelsNumber).collections > > > for i in np.arange(0,LevelsNumber,1): > polygoni=col[i].get_paths()[0].to_polygons()[0] > print polygoni > > All the vertices in each collections are extracted to the "polygoni". > > Thanks again to Jeff and Patrick ! > > By the way, I found out that I do not actually need this procedure to > achieve may goal > which was to make a contour plot in ternary coordinates. > > Eli > > > > On Tue, Jan 27, 2009 at 11:08 PM, Patrick Marsh > <pat...@gm...> wrote: > On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <eb...@gm...> > wrote: > > Many thanks to Jeff and to Patric ! > > I will try to work along the line suggested by Jeff. > > Patric, please send me your code. > > I hope to learn from it. > > > > Thanks again, > > Eli > > > > Here is a template that can be used. I use this for > meteorological > models, but should work with any gridded file. > > > import numpy as np > from mpl_toolkits.basemap import Basemap > > f = (some gridded file) > X = np.array(grab longitudes from f) > Y = np.array(grab latitudes from f) > field = np.array(grab field to be contoured from f) > map = Basemap(make a Basemap call here) > level = np.arange(minval, maxval, interval) > col = map.contour(X, Y, field, level).collections > > for vertex in col[i].get_paths(): # GET THE PATHS FOR THE > EACH > CONTOUR BY LOOPING THROUGH CONTOURS > for vertex in xy.vertices: # ITERATE OVER THE PATH > OBJECTS > x, y = map(vertex[0],vertex[1],inverse=True) # > vertex[0] > and now 'x' is the longitude of the vertex and vertex[1] and > now 'y' > is the latitude of the vertex > > > Let me know how this works. > > -Patrick > > > > > > > > > > > > > > On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh > <pat...@gm...> > > wrote: > >> > >> On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker > <js...@fa...> wrote: > >> > Eli Brosh wrote: > >> >> Hello, > >> >> I am trying to extract the coordinates of contour lines. > >> >> I tried the following: > >> >> > >> >> cs = *contour*(Z) > >> >> for lev, col in zip(cs.levels, cs.collections): > >> >> s = col._segments > >> >> > >> >> that I found in a previous post (title "contouring", by > Jose > >> >> Gómez-Dans-2 > <http://www.nabble.com/user/UserProfile.jtp?user=30071> > >> >> Nov 30, 2007; 07:47am ) . > >> >> > >> >> I hoped that s will be a list of numpy arrays, each > containing the > >> >> (x,y) vertices > >> >> defining a contour line at level lev. > >> >> However, I got an error message: > >> >> AttributeError: 'LineCollection' object has no attribute > '_segments' > >> >> > >> >> > >> >> How is it possible to get coordinates of the contours, > similar to the > >> >> MATLAB command > >> >> [C,H] = *CONTOUR*(...) > >> >> where the result in C is the coordinates of the > contours. > >> >> > >> >> A similar question appeared in a post "contour data" (by > Albert Swart > >> >> <http://www.nabble.com/user/UserProfile.jtp?user=382945> > May 17, 2006; > >> >> 09:42am) but I could not understand the answer. > >> >> Is it possible to get more specific directions with a > simple example ? > >> >> > >> >> > >> >> Thanks > >> >> Eli > >> > Eli: Calling get_paths() on each line collection in > CS.collections will > >> > return a list of Path objects. From the Path objects, > you can get a Nx2 > >> > array of vertices from the "vertices" attribute. There > are no examples > >> > that I know of, but if you get it to do what you want to > do, it would be > >> > great if you could contribute an example. As you noted, > this question > >> > has come up several times before. > >> > > >> > -Jeff > >> > > >> > -- > >> > Jeffrey S. Whitaker Phone : (303)497-6313 > >> > Meteorologist FAX : (303)497-6449 > >> > NOAA/OAR/PSD R/PSD1 Email : > Jef...@no... > >> > 325 Broadway Office : Skaggs Research Cntr > 1D-113 > >> > Boulder, CO, USA 80303-3328 Web : > http://tinyurl.com/5telg > >> > > >> > > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > This SF.net email is sponsored by: > >> > SourcForge Community > >> > SourceForge wants to tell your story. > >> > http://p.sf.net/sfu/sf-spreadtheword > >> > _______________________________________________ > >> > Matplotlib-users mailing list > >> > Mat...@li... > >> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >> > > >> > >> I'm not sure if this is entirely what you (Eli) are looking > for, but I > >> have code that will contour model data on a map and then > extract the > >> lat,lon pairs of all the vertices. If this is what you are > looking > >> for, I'm happy to share what I've done. > >> > >> -Patrick > >> > >> -- > >> Patrick Marsh > >> Graduate Research Assistant > >> School of Meteorology > >> University of Oklahoma > >> http://www.patricktmarsh.com > > > > > > > > > -- > > Patrick Marsh > Graduate Research Assistant > School of Meteorology > University of Oklahoma > http://www.patricktmarsh.com > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Lionel Roubeyrie chargé d'études LIMAIR - La Surveillance de l'Air en Limousin http://www.limair.asso.fr
You cannot set different tick positions for bottom and top x-axis in the same axes. What you can do is to make another axes at the same location and use it to draw ticks at top. Take a look at http://matplotlib.sourceforge.net/examples/api/two_scales.html But it may not be an ideal solution for you as this enforces adjustable="datalim". You may try to use my custom axes class. http://dl.getdropbox.com/u/178748/mpl/parasite_axes2.py import matplotlib.pyplot as plt import numpy as np from parasite_axes2 import SubplotHost fig = plt.gcf() ax = SubplotHost(fig, 1, 1, 1) fig.add_subplot(ax) Z = np.arange(100).reshape(10,10) im = ax.imshow(Z) ax2 = ax.twin() ax2.set_xticks([0, 3, 6, 9]) ax2.set_yticks([1,3,5,7,9]) plt.draw() plt.show() Note that it enforces that ax2 has a same viewlim as the original axes. You cannot manually change it. -JJ On Sun, Feb 1, 2009 at 12:41 PM, Eli Bressert <bre...@he...> wrote: > Hi, > > I'm looking into customizing the the tick positions on an imshow plot. I > found that you can do this by doing > > img = imshow(data) > img.ax.xaxis.set_ticks([100.,200.]) > > > The problem with this method is that it moves the tick positions on the > bottom and top x axis. What if I wanted to do have the top axes show > ticks at slightly different positions than the bottom one? Any ideas or > suggestions would be greatly appreciated > > -Eli > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi Chris, thanks for your reply, helpful as usual :) On Fri, Jan 30, 2009 at 18:59, Chris Walker <ch...@ch...> wrote: > Firstly, good luck with the book. cheers :) > The sort of book I'd buy would explain how to use the combination of > matplotlib/ipython/scipy/numpy to analyse data. Sadly, that would not the book I'll write :( The editor wanted to target another audience for the book: experienced python developers, with no knowledge of matplotlib; so an introductionary book, that will show even how to integrate mpl on GTK/WX application and on the web. I pushed to have something about science, and a chapter will be about that, but I need your (all) inputs, because my science days are long back in the past ;) >> - what are the (basic) things that, when you were beginning to use >> matplotlib, you wanted to see grouped up but couldn't find? >> - what would you like to see in a book about matplotlib? > > Start off by reading data from a file, plotting it and fitting a > function to that data. That sounds something that could land in the "science" chapter. > Plotting with related scales > ---------------------------- > > Sometimes it is useful to plot related scales on x1 and x2 axes. I've > come across this several times in different contexts. In its simplest > form, there is a linear relationship between the axes. In a mechanical test, you might want extension on the x1 axis and strain on the x2 axis (for example). > > Sometimes there is not a linear relationship. For example you might > want to plot frequency (or photon energy) on x1 and wavelength on x2. > > An even more complex example is a Hall-Petch plot: > > (Yield Stress) = k/sqrt(Grain Size) > > So plotting 1/Sqrt(Grain Size) on the X1 axis gives a linear > plot, but it would be useful to plot the grain size on the X2 scale. Err, I think I lost you ;) What you want is 2 plots on the same figure? so not 2 Ys for the same X (let's say X is time, and Y1 is stock price variation, and Y2 is the percentage change), you want X1-Y1 (let's say on the bottom-left) and X2-Y2 (on the upper-right): did I get you? > ipython and emacs > ----------------- > > Suppose I want to write a script to analyse some data (perhaps I want > a record of what I've done, or perhaps I'd like to perform the same > analysis on several data sets). I'd probably do so in emacs - but it > is useful to do some experimentation in ipython - tab completion is > particularly useful. I feel there must be a good way to do my > experimentation in ipython and save the important bits in emacs - but > I've not sat down and worked out an efficient way of doing this. I think the preferred way to do so it using ipython, and for now I plan only to show it on the book. > Data aqcuisition and experimental control: > ----------------------------------------- > > Writing a simple application to acquire data - ideally from multiple > sources and plot the data as it is acquired. In my case I wanted to > combine mechanical with electrical tests. A couple of interesting > articles by G Varoquaux are listed at > http://wiki.debian.org/DebianScience/DataAcquisition > > This is perhaps beyond the scope of the book, but it has come up on > the mailing lists a couple of times. The ideal application would have > a gui for simple use, but a command line (probably ipython) for more > more complex use - perhaps performing a series of tests under > different conditions. I thought about an example for this already! :) I thought to develop a sample application for GTK/WX that display some system value (like cpu usage or so, in this way everyone can run the example) plotting the information as it comes (for 30 secs, for example). > Some discussion of plotting non gridded 2d data should also be in > there. for example? >> Your suggestions are really appreciated :) And wish me good luck! > > I don't think it is the thrust of your book, but another book I was > looking for is "A cookbook of Numerical simulations of classic > physics/engineering problems". For use by physicists/engineers who > don't want to rewrite things from scratch. As said, even if my degree is in linear algebra, my science days are gone, so it won't be in the book, if not for that chapter about science and mpl. > Good luck. Cheers, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi
Hi, I'm looking into customizing the the tick positions on an imshow plot. I found that you can do this by doing img = imshow(data) img.ax.xaxis.set_ticks([100.,200.]) The problem with this method is that it moves the tick positions on the bottom and top x axis. What if I wanted to do have the top axes show ticks at slightly different positions than the bottom one? Any ideas or suggestions would be greatly appreciated -Eli
KarlBlau <mai...@we...> writes: > I would like to change the hue range of the hsv color map to use only hue > values between 0 and 0.6667. I checked the documentation of matplotlib and > searched in the internet but couldn't find the answer. There doesn't seem to be any predefined functionality for this. The easiest way to achieve this is probably just to take the definition of hsv from _cm.py and modify it a little: data = {'red': ((0., 1., 1.),(0.158730, 1.000000, 1.000000), (0.174603, 0.968750, 0.968750),(0.333333, 0.031250, 0.031250), (0.349206, 0.000000, 0.000000),(0.666667, 0.000000, 0.000000)), 'green': ((0., 0., 0.),(0.158730, 0.937500, 0.937500), (0.174603, 1.000000, 1.000000),(0.507937, 1.000000, 1.000000), (0.666667, 0.062500, 0.062500)), 'blue': ((0., 0., 0.),(0.333333, 0.000000, 0.000000), (0.349206, 0.062500, 0.062500),(0.507937, 1.000000, 1.000000), (0.666667, 1.000000, 1.000000))} for k,v in data.items(): data[k] = [(a/0.666667, b, c) for (a,b,c) in v] myhsv = matplotlib.colors.LinearSegmentedColormap('myhsv', data) -- Jouni K. Seppänen http://www.iki.fi/jks
Hello, I apologize if this was asked earlier. I have following problem: I am creating multi panaled plots with share xaxis. It became common in publications to plot such plots without vspacing, so that they tough each other ( I attached a pdf http://www.nabble.com/file/p21773509/bN3368MJ_zhlnHD72324.pdf bN3368MJ_zhlnHD72324.pdf to clearify the situation.). In such plots the bottom and uppermost yaxis labels will overlap. I tried a dirty hack to overcome this problem, but this does not always produce nice results. Is there a general solution? Regards, Maximilian -- View this message in context: http://www.nabble.com/Yaxis-labels-in-plots-with-no-vspacing-tp21773509p21773509.html Sent from the matplotlib - users mailing list archive at Nabble.com.