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
(14) |
2
(22) |
3
(8) |
4
(10) |
5
(1) |
6
|
7
(11) |
8
(4) |
9
(14) |
10
(18) |
11
(18) |
12
(2) |
13
(8) |
14
(14) |
15
(6) |
16
(8) |
17
(9) |
18
(9) |
19
(7) |
20
(8) |
21
(8) |
22
(14) |
23
(10) |
24
(11) |
25
(17) |
26
(1) |
27
(3) |
28
(12) |
|
|
|
|
|
From: John H. <jdh...@ac...> - 2005-02-11 20:52:27
|
>>>>> "Ted" == Ted Drain <ted...@jp...> writes: Ted> Is there an easy way to plot multiple collections of points Ted> connected by a line and have only a single legend entry show Ted> up? It would also be nice if any modifications to that entry Ted> (marker, color, etc) would affect all the line segments. Not 100% sure what you are after here. You can control which lines and patches get passed to the legend by explicitly passing them (as opposed to using the autolegend capabilities). Eg ax.legend((l1, p1), ('A line, 'A patch') Also, have you looked into the LineCollection class -- this sounds like it would support some of what you are describing. Perhaps if you explain a bit more. Ted> Ted PS: we also need some way to draw only the n'th marker in Ted> a line plot. We plot a lot of trajectories where time is Ted> progressing along the line so it's useful to generate the Ted> plot using 1 minute data (for example) and then have a marker Ted> be displayed every 60'th point. Look at subplot(211) in examples/subplot_demo.py. There a line is plotted with one temporal resolution, and markers are placed along the line at subsampled points. Basically two lines are added with different sampling frequencies. Does this suffice? JDH |
From: Ted D. <ted...@jp...> - 2005-02-11 20:39:50
|
I could use a scatter plot but user's actually want a line drawn so that's out. I think either the plot has to be really smart about it (which is probably a bad idea), or this type of functionality has to be in a utility or wrapper that can be used. I think I'm stuck doing linear interpolation and somehow separating the line segments at the boundary of the map. Is there an easy way to plot multiple collections of points connected by a line and have only a single legend entry show up? It would also be nice if any modifications to that entry (marker, color, etc) would affect all the line segments. Ted PS: we also need some way to draw only the n'th marker in a line plot. We plot a lot of trajectories where time is progressing along the line so it's useful to generate the plot using 1 minute data (for example) and then have a marker be displayed every 60'th point. At 05:28 AM 2/11/2005, Jeff Whitaker wrote: >Ted Drain wrote: > >> >>One thing I do need to be able to do is to create line plots that "wrap >>around" a map. We generate a lot of ground tracks that use a Mercator >>projection covering the whole globe (x=-180->180, y=-90->90) and if the >>line goes off one edge, we need to wrap it around to the other edge >>instead of drawing a line segment all the way across the page. > >Ted: It just occured to me that if you plot the track as a scatterplot of >points instead of a line then this is not a problem (i.e. you won't get >that line segment running across the page) > >-Jeff > >-- >Jeffrey S. Whitaker Phone : (303)497-6313 >NOAA/OAR/CDC R/CDC1 FAX : (303)497-6449 >325 Broadway Web : http://www.cdc.noaa.gov/~jsw >Boulder, CO, USA 80305-3328 Office: Skaggs Research Cntr 1D-124 > > > >------------------------------------------------------- >SF email is sponsored by - The IT Product Guide >Read honest & candid reviews on hundreds of IT Products from real users. >Discover which products truly live up to the hype. Start reading now. >http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >_______________________________________________ >Matplotlib-users mailing list >Mat...@li... >https://lists.sourceforge.net/lists/listinfo/matplotlib-users Ted Drain Jet Propulsion Laboratory ted...@jp... |
From: John H. <jdh...@ac...> - 2005-02-11 20:11:52
|
>>>>> "Andrew" == Andrew Straw <str...@as...> writes: Andrew> I'm no GnuPlot user, but try this: Andrew> ax = gca() ax.yaxis.tick_left() ax.xaxis.tick_bottom() Yep, that is better than my suggestion. Thanks. It would be nice to draw the edges with lines rather than a rectangle so we can turn them on and off selectively as well (an detach them...) JDH |
From: John H. <jdh...@ac...> - 2005-02-11 20:07:19
|
>>>>> "Robert" == Robert Leftwich <ro...@le...> writes: Robert> Does Matplotlib support something equivalent to GnuPlot's Robert> nomirror functionality where the x and y axes are only Robert> displayed on the bottom and left of the graph and are not Robert> 'mirrored' to the top and right? Not yet, but it's on the goals page at http://matplotlib.sf.net/goals.html under the "Axis autoranging and tick customization" section When "Detachable axis from main axes box and customizable tickline locations" are implemented, your request will be as well. The problem is that the edge of the axes is currently drawn as the edge of a rectangle, not four separate lines. You can, however, turn off the ticks on the right and top sides for tick in ax.xaxis.get_major_ticks(): tick.tick2On = False See http://matplotlib.sf.net/matplotlib.axis.html for more information on customizing the axis. Have fun! JDH |
From: Andrew S. <str...@as...> - 2005-02-11 20:06:29
|
Robert Leftwich wrote: > Does Matplotlib support something equivalent to GnuPlot's nomirror > functionality where the x and y axes are only displayed on the bottom > and left of the graph and are not 'mirrored' to the top and right? > > Robert I'm no GnuPlot user, but try this: ax = gca() ax.yaxis.tick_left() ax.xaxis.tick_bottom() > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: John H. <jdh...@ac...> - 2005-02-11 20:03:33
|
>>>>> "Robert" == Robert Leftwich <ro...@le...> writes: Robert> I wrote: >> How can I decrease the size of the actual graph so that the >> labels are displayed? >> Robert> The answer seems to be to use the following after drawing Robert> the graph: ax = gca() ax.set_position([0.2,0.2,0.6,0.6]) Robert> This was taken from the mailing list discussion on Robert> GnuPlot's 'set size ratio' command - Robert> (http://sourceforge.net/mailarchive/forum.php?thread_id=5562487&forum_id=33405) Robert> Is this the correct approach? Yep, that's it -- this is also discussed here http://matplotlib.sf.net/faq.html#TEXTOVERLAP , which also gives an alternative suggestion. Robert> PS One thing that I am having trouble getting my head Robert> around fully is how best to handle the coding, i.e. I'd Robert> prefer to use the class library approach as I like it's Robert> clean, well structured nature, but a number of techniques, Robert> such as the above, are written/illustrated using the Robert> Pylab/Matlab commands which I find difficult to translate Robert> into the class library code. What is the best approach to Robert> getting up the learning curve? Are there any problems with Robert> mixing the two approaches in the one code base? It's a common complaint, so don't feel along. Have you seen examples/pythonic_matplotlib.py -- there is some header documentation there that offers some pointers. That is an example using the pylab interface in a more OO way. For pure OO w/o the pylab interface at all, there is a new example in CVS which I'll put here #!/usr/bin/env python """ A pure OO (look Ma, no pylab!) example using the agg backend """ from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas from matplotlib.figure import Figure fig = Figure() canvas = FigureCanvas(fig) ax = fig.add_subplot(111) ax.plot([1,2,3]) ax.set_title('hi mom') ax.grid(True) ax.set_xlabel('time') ax.set_ylabel('volts') canvas.print_figure('test') My advice, don't be afraid to open up matplotlib/pylab.py to see how the pylab interface forwards its calls to the OO layer. I appreciate that "read the source" is not very comforting, but that, the examples I pointed you too above, the all-too-short Chapter 7 of the user's guide, the examples/embedding* demos, and the mailing lists, which are regularly read by many developers, are what we've got right now. I always encourage new users starting on the path to matplotlib OO API enlightenment to make notes and write a tutorial as you go. It would be a useful addition to the documentation. JDH |
From: Robert L. <ro...@le...> - 2005-02-11 19:19:27
|
Does Matplotlib support something equivalent to GnuPlot's nomirror functionality where the x and y axes are only displayed on the bottom and left of the graph and are not 'mirrored' to the top and right? Robert |
From: Robert L. <ro...@le...> - 2005-02-11 19:18:49
|
I wrote: > How can I > decrease the size of the actual graph so that the labels are displayed? > The answer seems to be to use the following after drawing the graph: ax = gca() ax.set_position([0.2,0.2,0.6,0.6]) This was taken from the mailing list discussion on GnuPlot's 'set size ratio' command - (http://sourceforge.net/mailarchive/forum.php?thread_id=5562487&forum_id=33405) Is this the correct approach? Robert PS One thing that I am having trouble getting my head around fully is how best to handle the coding, i.e. I'd prefer to use the class library approach as I like it's clean, well structured nature, but a number of techniques, such as the above, are written/illustrated using the Pylab/Matlab commands which I find difficult to translate into the class library code. What is the best approach to getting up the learning curve? Are there any problems with mixing the two approaches in the one code base? |
From: Stephen W. <ste...@cs...> - 2005-02-11 17:54:04
|
Humufr wrote: > I would like to know if I'm the only person to have some problem to > access to the CVS sourceforge? From the Sourceforge status page http://sourceforge.net/docman/display_doc.php?group_id=1&docid=2352, you can read that access to projects beginning with m, n, p, q, t, y and z has been down for 48 hours or so. No estimate as to when it will be back up. |
From: Humufr <hu...@ya...> - 2005-02-11 17:02:18
|
Hi, I would like to know if I'm the only person to have some problem to access to the CVS sourceforge? I have an error message from the eb interface: 502: "Bad Gateway The proxy server received an invalid response from an upstream server." and: cvs [login aborted]: unrecognized auth response from cvs.sourceforge.net: M PserverBackend::PserverBackend() Connect (Connection refused) Thanks, Nicolas |
From: Humufr <hu...@ya...> - 2005-02-11 16:45:54
|
Hi, I did some change (again) in the load function to improve the speed when you're load some big data file but you want use only some columns. I did all my tests with a file with 9722 line and 16 columns. The bench test file is after. I think that the result of the bench are interesting: I you want use 2 columns on the 16 the results are: load matplotlib 0.58 load with columns choice 0.27 normal load inside the new load version 0.58 We win a factor two. I know that depend totally from the number of columns and that the change is not interesting and more decrease the efficiency if you want use all the data in your file but like the columns call is optionnal I don't think that is point is crucial but I add a figure to see the effect when you go to one to all the columns. The load function is after. Regards, Nicolas ----------------------------------------------- #!/usr/bin/env python # -*- coding: utf-8 -*- from time import clock t3 = clock() import load_2 Y=load_2.load('data') x=Y[:,0] y=Y[:,1] t4 = clock() #print t4-t3 #print x,y col = [0,6] t1 = clock() import load_matplotlib X=load_matplotlib.load('data') #X = [X[:,i] for i in col] x=X[:,0] y=X[:,1] t2 = clock() print 'load matplotlib', t2-t1 #print X t3 = clock() import load_2 X=load_2.load('data',columns=range(14)) x=Y[:,0] y=Y[:,1] t4 = clock() print 'load with columns choice', t4-t3 t3 = clock() import load_2 Y=load_2.load('data') x=Y[:,0] y=Y[:,1] t4 = clock() normal = t4-t3 print 'normal load ', normal time = [] for i in range(16): t3 = clock() import load_2 X=load_2.load('data',columns=range(i)) x=Y[:,0] y=Y[:,1] t4 = clock() #print 'load with columns choice', t4-t3 time.append(t4-t3) from pylab import * time = array(time)/normal plot(range(16),time) xlabel('N columns (total = 16)') ylabel('time columns /normal time') show() ------------------------------------------------------------------ def load(fname,comments='%',columns=None): """ 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. A character for to delimit the comments can be use (optional), the default is the matlab character '%'. An second optional argument can be add, to tell which columns you want use in the file. This arguments is a list who contains the number of columns beggining by 0 (python style). matfile data is not currently supported, but see Nigel Wade's matfile ftp://ion.le.ac.uk/matfile/matfile.tar.gz Example usage: X = load('test.dat') # data in two columns t = X[:,0] y = X[:,1] Alternatively, you can do t,y = transpose(load('test.dat')) # for two column data X = load('test.dat',[0,2]) # data in two columns (columns 1 and 3 use in the file) X = load('test.dat') # a matrix of data X = load('test.dat',columns=[2,3]) # a matrix of data, only columns 3 and 4 will be use x = load('test.dat') # a single column of data x = load('test.dat,'#') # the character use like a comment delimiter is '#' """ # from numarray import array fh = file(fname) X = [] numCols = None if columns is 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) else: for line in fh: line = line[:line.find(comments)].strip() if not len(line): continue row = [val for val in line.split()] row = [float(row[i]) for i in columns] 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 |
From: John H. <jdh...@ac...> - 2005-02-11 15:18:15
|
>>>>> "John" == John Hunter <jdh...@ac...> writes: John> Anyone going to pycon? I'll be giving a talk on matplotlib John> on Wednesday -- John> http://www.python.org/pycon/2005/schedule.html -- and would John> enjoy attaching faces to all these posts.... OK, we're official. We have a wiki! http://www.python.org/moin/MatplotlibSprint Add your name to the list of participants if you want to come! Even if you don't think you're ready to contribute code, stop by and say hello. JDH |
From: John H. <jdh...@ac...> - 2005-02-11 14:57:56
|
Anyone going to pycon? I'll be giving a talk on matplotlib on Wednesday -- http://www.python.org/pycon/2005/schedule.html -- and would enjoy attaching faces to all these posts.... A sprint might be fun. It turns out that Monday is the only day I can do a sprint. We could do something general purpose like picking goals off the http://matplotlib.sf.net/goals.html page, or highly focused. A few ideas, but please throw out more ideas * contribute to the user's guide * support arbitrary clipping paths * gradient fills for polygons * provide mathtext fonts that don't have the licensing restrictions of bakoma, eg the umbellek fonts * unicode support / internationalization * expose latex/tex when available for mathtext rendering * expose agg drawing primitives (paths, etc) directly. JDH |
From: <fcc...@fi...> - 2005-02-11 14:30:22
|
hi, how can I remove a colorbar? in the following code, i generate figures that are saved not shown. and with every new figure I get an extra colorbar instead of an updated one! from matplotlib.pylab import * from RandomArray import * imshow(normal(0,1,(256,256))) title('distance matrix') colorbar() savefig('dm.png') imshow(normal(0,1,(256,256))+20) title('conectivity matrix') colorbar() savefig('cm.png') there should be a way to toggle a color bar on and off. Flávio |
From: Jeff W. <js...@fa...> - 2005-02-11 13:28:36
|
Ted Drain wrote: > > One thing I do need to be able to do is to create line plots that > "wrap around" a map. We generate a lot of ground tracks that use a > Mercator projection covering the whole globe (x=-180->180, y=-90->90) > and if the line goes off one edge, we need to wrap it around to the > other edge instead of drawing a line segment all the way across the page. Ted: It just occured to me that if you plot the track as a scatterplot of points instead of a line then this is not a problem (i.e. you won't get that line segment running across the page) -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 NOAA/OAR/CDC R/CDC1 FAX : (303)497-6449 325 Broadway Web : http://www.cdc.noaa.gov/~jsw Boulder, CO, USA 80305-3328 Office: Skaggs Research Cntr 1D-124 |
From: Robert L. <ro...@le...> - 2005-02-10 20:14:33
|
I'm plotting a small png for use on a web page and finding that the x and y labels are not being displayed. If I increase the size of the figure using figsize then all is ok. I've tried x/yaxis.set_clip_on(False) and axes([..]) without success. How can I decrease the size of the actual graph so that the labels are displayed? Robert PS If it makes a difference the code I'm using is based on the coloured background region code supplied by John Hunter, i.e. there are 4 subplots, each with a Rectangle and a scatter plot overlaid on the 4 Rectangles. |
From: Jeff W. <js...@fa...> - 2005-02-10 18:57:21
|
Ted Drain wrote: > Jeff, > Great timing! I was just reviewing some requirements from our users > to be able to create ground track plots of spacecraft right after > launch. Your package looks like it should easily do most of the work > for us! > > One thing I do need to be able to do is to create line plots that > "wrap around" a map. We generate a lot of ground tracks that use a > Mercator projection covering the whole globe (x=-180->180, y=-90->90) > and if the line goes off one edge, we need to wrap it around to the > other edge instead of drawing a line segment all the way across the page. Ted: That is a pain - I had to work around this a couple of times in the basemap code (when drawing coastlines and when drawing parallels and meridians). BTW: You won't be able to define a mercator projection that goes from -90 to 90 (it's singular at the poles). You'll have to stop it at 80 or 85 degrees. > > I had planning on creating a front end script to pre-process the data > to handle this type of capability. The only issue with this approach > is that it requires multiple lines be drawn (as if you're plotting > multiple curves) but only one of them should show up in the legend. I > was wondering anyone else has need of this and if there is a better > way to implement this wrapping feature when doing map plots? That would be useful for lots of people I think - I don't know of any better way (other than using a non-cylindrical projection, like a polar stereographic). -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/CDC R/CDC1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg |
From: Ted D. <ted...@jp...> - 2005-02-10 17:59:47
|
What I did in the past was to use a heuristic that said something like: if the next point jumps more than 80% (or something like that) of the full map range, then do a linear interpolation to find the point at the boundary and add that to the line. Then split the line and start a new curve on the other side. We probably won't get to working on this until Apr-May but I'll let you know what we come up with. I'll try to set up some type of general purpose functions and then you can decide if they have a place in the basemap module. Ted At 09:52 AM 2/10/2005, Chris Barker wrote: >Ted Drain wrote: >>Jeff, >>One thing I do need to be able to do is to create line plots that "wrap >>around" a map. We generate a lot of ground tracks that use a Mercator >>projection covering the whole globe (x=-180->180, y=-90->90) and if the >>line goes off one edge, we need to wrap it around to the other edge >>instead of drawing a line segment all the way across the page. > >Yes, this really is a pain. If you work out a good solution, please let me >know, or post it to the list. I'd love to have a similar feature in my >wxPython FloatCanvas. > >-Chris > > >-- >Christopher Barker, Ph.D. >Oceanographer > >NOAA/OR&R/HAZMAT (206) 526-6959 voice >7600 Sand Point Way NE (206) 526-6329 fax >Seattle, WA 98115 (206) 526-6317 main reception > >Chr...@no... |
From: Chris B. <Chr...@no...> - 2005-02-10 17:53:39
|
Ted Drain wrote: > Jeff, > One thing I do need to be able to do is to create line plots that "wrap > around" a map. We generate a lot of ground tracks that use a Mercator > projection covering the whole globe (x=-180->180, y=-90->90) and if the > line goes off one edge, we need to wrap it around to the other edge > instead of drawing a line segment all the way across the page. Yes, this really is a pain. If you work out a good solution, please let me know, or post it to the list. I'd love to have a similar feature in my wxPython FloatCanvas. -Chris -- Christopher Barker, Ph.D. Oceanographer NOAA/OR&R/HAZMAT (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no... |
From: Ted D. <ted...@jp...> - 2005-02-10 16:31:51
|
Jeff, Great timing! I was just reviewing some requirements from our users to be able to create ground track plots of spacecraft right after launch. Your package looks like it should easily do most of the work for us! One thing I do need to be able to do is to create line plots that "wrap around" a map. We generate a lot of ground tracks that use a Mercator projection covering the whole globe (x=-180->180, y=-90->90) and if the line goes off one edge, we need to wrap it around to the other edge instead of drawing a line segment all the way across the page. I had planning on creating a front end script to pre-process the data to handle this type of capability. The only issue with this approach is that it requires multiple lines be drawn (as if you're plotting multiple curves) but only one of them should show up in the legend. I was wondering anyone else has need of this and if there is a better way to implement this wrapping feature when doing map plots? Ted ps: John I promise I'll get you a Qt backend this week. We hit a few delays but I should be able to get you something this afternoon. It's basically a refactorization of the Qt backend that's in CVS right now with some drawing improvements to reduce flickering. At 05:04 AM 2/10/2005, Jeff Whitaker wrote: >The first matplotlib toolkit has been released. > >Matplotlib toolkits are collections of application-specific functions that >extend matplotlib. > >This is hopefully the first of many - additional contributions are encouraged! > >The basemap toolkit allows matplotlib to plot regularly-space >latitiude/longitude grids on map projections, including drawing >coastlines, political boundaries, parallels and meridians. It currently >supports six map projections (cylindrical equidistant, mercator, lambert >conformal conic, lambert azimuthal equal area, albers equal area and >stereographic). > >It uses routines from the proj.4 library (http://proj.maptools.org) to >perform cartographic transformations. > >Documentation - http://matplotlib.sourceforge.net/toolkits.html. > >Screenshot - http://matplotlib.sourceforge.net/screenshots/plotmap_large.png > >Example Code - http://matplotlib.sourceforge.net/screenshots/plotmap.py > >Examples for each map projection are included in the source release >(available at the sf download page >(http://sourceforge.net/project/showfiles.php?group_id=80706&package_id=142792). > >Windows binaries are provided (thanks John!) - but they do not include the >examples. > >Comments/bug reports/suggestions are welcome. > >-Jeff > >-- >Jeffrey S. Whitaker Phone : (303)497-6313 >NOAA/OAR/CDC R/CDC1 FAX : (303)497-6449 >325 Broadway Web : http://www.cdc.noaa.gov/~jsw >Boulder, CO, USA 80305-3328 Office: Skaggs Research Cntr 1D-124 > > > >------------------------------------------------------- >SF email is sponsored by - The IT Product Guide >Read honest & candid reviews on hundreds of IT Products from real users. >Discover which products truly live up to the hype. Start reading now. >http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >_______________________________________________ >Matplotlib-users mailing list >Mat...@li... >https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Gerrit H. <ge...@nl...> - 2005-02-10 16:11:24
|
John Hunter schreef: > >>>>> "Gerrit" =3D=3D Gerrit Holl <ge...@nl...> writes: >=20 > Gerrit> Hi, to plot against dates, I use 'plot_date'. to plot > Gerrit> bars, I use 'bar'. How do I plot with bars against dates? >=20 > The key point is that all date plotting is converting your dates to > matplotlib datenums -- see num2date and date2num, and then setting the > tick locators and formatters properly so that they do the right thing. >=20 > To learn about tick locators and formatters see > http://matplotlib.sf.net/matplotlib.ticker.html and in a date specific > contect http://matplotlib.sf.net/matplotlib.dates.html . Ah, thank you! I've worked it out now. In case anyone's curious: code at http://topjaklont.student.utwente.nl/creaties/plothttplog.py result at http://topjaklont.student.utwente.nl/eigenstats/bezoekers7x6.pn= g (updated nightly) yours, Gerrit. P.S. I've studies the .py sources at various places and saw a few places where I though "this could be better" (for example, __future__ placed before docstring doesn't work for docstring). I wanted to send a patch to SF but SF's anonymous CVS is partially down so I couldn't do a cvs up. Is Sourceforge patches page the correct place to send patches if I want to? --=20 Weather in Lulea / Kallax, Sweden 10/02 16:20: -1.0=C2=B0C light snow; low drifting snow mostly cloudy wind 11.2 m/s SS= E (34 m above NAP) --=20 Ervaringen met het Syndroom van Asperger: http://topjaklont.student.utwente.nl Socialistische Partij: http://www.sp.nl/ |
From: John H. <jdh...@ac...> - 2005-02-10 14:51:45
|
>>>>> "Bryan" == Bryan Cole <bry...@te...> writes: Bryan> I'm kind of surprised no-one else has requested this: how Bryan> about making all matplotlib objects picklable? It has been requested before. I remember Prabhu once asking whether matplotlib supports this. He uses xmgrace, and relies heavily on the ability to dump the figure objects to file and pick up where he left off. Not having this feature is a show-stopper for him. Bryan> The ability to save a plot to disk as a python object and Bryan> recall it at a later date, or send a live matplotlib figure Bryan> over a network socket would be really useful. I often have Bryan> plots I need to make small changes to at a later date. Would it suffice to send over the data and the matplotlib commands needed to operate on it -- or perhaps to send the image buffer as a string. What is the use case where sending the actual figure object is preferred? Bryan> Getting the pickling of all the C-objects right might be Bryan> tricky, I guess. I don't think the extension code part would be too bad. Extension code is mainly called at draw time and thus stores little data -- eg the image and agg backend extension modules. There are some exceptions to this, eg the transformation functions and axes limits are stored in extension code. Although the amount of data is small, it would be tricky to get this part right, basically because of the way lazy values work -- see http://matplotlib.sf.net/matplotlib.transforms.html. But this could be worked around with a little thought. This is not a paradigm I need or use much in my own work -- perhaps if it existed I would use it more. So I probably won't take the lead on this one, but would be happy to work with and help you or someone else who is, and provide helper methods for the extension code, etc. JDH |
From: John H. <jdh...@ac...> - 2005-02-10 14:43:29
|
>>>>> "Gerrit" == Gerrit Holl <ge...@nl...> writes: Gerrit> Hi, to plot against dates, I use 'plot_date'. to plot Gerrit> bars, I use 'bar'. How do I plot with bars against dates? The key point is that all date plotting is converting your dates to matplotlib datenums -- see num2date and date2num, and then setting the tick locators and formatters properly so that they do the right thing. To learn about tick locators and formatters see http://matplotlib.sf.net/matplotlib.ticker.html and in a date specific contect http://matplotlib.sf.net/matplotlib.dates.html . Once you have digested that, take a look at the plot_date implementation in axes.py. Basically all it does is try to make an intelligent guess about which locator and formatter to use, and then forwards to data to "plot". So all you have to do is make the intelligent choice about locator and formatters yourself, and send the date2num data directly to bar. (nice signature, btw) JDH |
From: Gerrit H. <ge...@nl...> - 2005-02-10 13:54:03
|
Hi, to plot against dates, I use 'plot_date'. to plot bars, I use 'bar'. How do I plot with bars against dates? yours, Gerrit Holl. --=20 Weather in Lulea / Kallax, Sweden 10/02 14:20: 0.0=C2=B0C low drifting snow mostly cloudy wind 11.2 m/s SSE (34 m above= NAP) --=20 Ervaringen met het Syndroom van Asperger: http://topjaklont.student.utwente.nl Socialistische Partij: http://www.sp.nl/ |
From: Bryan C. <bry...@te...> - 2005-02-10 13:23:20
|
I'm kind of surprised no-one else has requested this: how about making all matplotlib objects picklable? The ability to save a plot to disk as a python object and recall it at a later date, or send a live matplotlib figure over a network socket would be really useful. I often have plots I need to make small changes to at a later date. Getting the pickling of all the C-objects right might be tricky, I guess. Bryan |