Re: [Matplotlib-users] Stick Plot?
Eric Firing wrote: Christopher Barker wrote: Has anyone used MPL to make stick plots? If so, can I borrow your code? If no one volunteers anything, then I suggest using quiver(..., headlength=0, headwidth=0, headaxislength=0), together with quiverkey(...). This will effectively give you a stick plot, with lots of flexibility. I've got a start enclosed. I'm having trouble with a few issues: 1) I'd like to be able to pass in datetime objects for the x axis, but that doesn't seem to be supported -- is that a bug? (uncomment the datetime list comp to see the error) 2) I'm a little confused about what to put on the y axis -- stick plots often use the y axis to provide a scale for the velocites, but I can't figure out what units I'd use there -- quiver is scaling the "arrows", so I don't know what units they are in. 3) it seemed like I should be able to use angles=array to pass in the angles directly, but that didn't work for me. It could be implemented more efficiently in any of several ways, but it would take work to do it well. yup -- and the whole LineCollection/transforms thing confuses me anyway... Any suggestions to improve this? -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R(206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov StickPlot.py Description: application/python -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
To me arrows are always useful to see the direction of wind easily. Since in meteorological convention barbs show where the wind is blowing from, but in pilot convention (I might have made up this one :)) in the opposite way. Gökhan On Wed, May 6, 2009 at 7:11 PM, Christopher Barker wrote: > Gökhan SEVER wrote: >> Mayavi has a quiver3d function >> (http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/mlab_helper_functions.html#quiver3d) >> if you want to go a fancier way :) > > which is cool, but I"m looking to plot a time series of a (2d) vector > quantity at a single point. > >> Also what >> you showed in your original post seem a little like wind-barbs, well >> except without notches. > > yup -- stick plots are commonly used for wind data. > > -Chris > > >> Gökhan >> >> >> >> On Wed, May 6, 2009 at 4:46 PM, Christopher Barker >> wrote: >>> Eric Firing wrote: Christopher Barker wrote: > Has anyone used MPL to make stick plots? If so, can I borrow your code? If no one volunteers anything, then I suggest using quiver(..., headlength=0, headwidth=0, headaxislength=0), together with quiverkey(...). This will effectively give you a stick plot, with lots of flexibility. >>> Thanks, I was thinking that quiver() would get direction wrong, as the x >>> and y scales are in totally different units, but it looks like that's >>> not the case if you use the "angles" keyword: >>> >>> angles: [‘uv’ | ‘xy’ | array] >>> With the default ‘uv’, the arrow aspect ratio is 1, so that if >>> U*==*V the angle of the arrow on the plot is 45 degrees CCW from the >>> x-axis. With ‘xy’, the arrow points from (x,y) to (x+u, y+v). >>> Alternatively, arbitrary angles may be specified as an array of values >>> in degrees, CCW from the x-axis. >>> >>> > It could be implemented more efficiently in any of several ways, but it would take work to do it well. >>> I hope I'll get time to do that, but I don't really like quiver stick >>> plots anyway. I prefer plots (that I don't know the name of) that: >>> >>> >>> Time is on the x axis >>> >>> Magnitude of the velocity is the x axis >>> >>> At each data point, there is a dot, and the direction is given with a >>> unit-length arrow originating at that dot, in the direction of the >>> observation. >>> >>> I wrote a version of this a while back with the old MPL transforms >>> mechanism, but haven't taken the time to translate it. >>> >>> -Chris >>> >>> >>> >>> >>> -- >>> Christopher Barker, Ph.D. >>> Oceanographer >>> >>> Emergency Response Division >>> NOAA/NOS/OR&R (206) 526-6959 voice >>> 7600 Sand Point Way NE (206) 526-6329 fax >>> Seattle, WA 98115 (206) 526-6317 main reception >>> >>> chris.bar...@noaa.gov >>> >>> >>> -- >>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >>> production scanning environment may not be a perfect world - but thanks to >>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >>> i700 >>> Series Scanner you'll get full speed at 300 dpi even with all image >>> processing features enabled. http://p.sf.net/sfu/kodak-com >>> ___ >>> Matplotlib-users mailing list >>> Matplotlib-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> > > > -- > Christopher Barker, Ph.D. > Oceanographer > > Emergency Response Division > NOAA/NOS/OR&R (206) 526-6959 voice > 7600 Sand Point Way NE (206) 526-6329 fax > Seattle, WA 98115 (206) 526-6317 main reception > > chris.bar...@noaa.gov > > > -- > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > ___ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Gökhan SEVER wrote: > Mayavi has a quiver3d function > (http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/mlab_helper_functions.html#quiver3d) > if you want to go a fancier way :) which is cool, but I"m looking to plot a time series of a (2d) vector quantity at a single point. > Also what > you showed in your original post seem a little like wind-barbs, well > except without notches. yup -- stick plots are commonly used for wind data. -Chris > Gökhan > > > > On Wed, May 6, 2009 at 4:46 PM, Christopher Barker > wrote: >> Eric Firing wrote: >>> Christopher Barker wrote: Has anyone used MPL to make stick plots? If so, can I borrow your code? >>> If no one volunteers anything, then I suggest using quiver(..., >>> headlength=0, headwidth=0, headaxislength=0), together with >>> quiverkey(...). This will effectively give you a stick plot, with lots >>> of flexibility. >> Thanks, I was thinking that quiver() would get direction wrong, as the x >> and y scales are in totally different units, but it looks like that's >> not the case if you use the "angles" keyword: >> >> angles: [‘uv’ | ‘xy’ | array] >> With the default ‘uv’, the arrow aspect ratio is 1, so that if >> U*==*V the angle of the arrow on the plot is 45 degrees CCW from the >> x-axis. With ‘xy’, the arrow points from (x,y) to (x+u, y+v). >> Alternatively, arbitrary angles may be specified as an array of values >> in degrees, CCW from the x-axis. >> >> > It could be implemented more efficiently in any of >>> several ways, but it would take work to do it well. >> I hope I'll get time to do that, but I don't really like quiver stick >> plots anyway. I prefer plots (that I don't know the name of) that: >> >> >> Time is on the x axis >> >> Magnitude of the velocity is the x axis >> >> At each data point, there is a dot, and the direction is given with a >> unit-length arrow originating at that dot, in the direction of the >> observation. >> >> I wrote a version of this a while back with the old MPL transforms >> mechanism, but haven't taken the time to translate it. >> >> -Chris >> >> >> >> >> -- >> Christopher Barker, Ph.D. >> Oceanographer >> >> Emergency Response Division >> NOAA/NOS/OR&R(206) 526-6959 voice >> 7600 Sand Point Way NE (206) 526-6329 fax >> Seattle, WA 98115 (206) 526-6317 main reception >> >> chris.bar...@noaa.gov >> >> >> -- >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> ___ >> Matplotlib-users mailing list >> Matplotlib-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R(206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Just for your information: Mayavi has a quiver3d function (http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/mlab_helper_functions.html#quiver3d) if you want to go a fancier way :) This said, I don't know how to hide arrow heads in Mayavi. Also what you showed in your original post seem a little like wind-barbs, well except without notches. Gökhan On Wed, May 6, 2009 at 4:46 PM, Christopher Barker wrote: > Eric Firing wrote: >> Christopher Barker wrote: >>> Has anyone used MPL to make stick plots? If so, can I borrow your code? >> If no one volunteers anything, then I suggest using quiver(..., >> headlength=0, headwidth=0, headaxislength=0), together with >> quiverkey(...). This will effectively give you a stick plot, with lots >> of flexibility. > > Thanks, I was thinking that quiver() would get direction wrong, as the x > and y scales are in totally different units, but it looks like that's > not the case if you use the "angles" keyword: > > angles: [‘uv’ | ‘xy’ | array] > With the default ‘uv’, the arrow aspect ratio is 1, so that if > U*==*V the angle of the arrow on the plot is 45 degrees CCW from the > x-axis. With ‘xy’, the arrow points from (x,y) to (x+u, y+v). > Alternatively, arbitrary angles may be specified as an array of values > in degrees, CCW from the x-axis. > > > It could be implemented more efficiently in any of >> several ways, but it would take work to do it well. > > I hope I'll get time to do that, but I don't really like quiver stick > plots anyway. I prefer plots (that I don't know the name of) that: > > > Time is on the x axis > > Magnitude of the velocity is the x axis > > At each data point, there is a dot, and the direction is given with a > unit-length arrow originating at that dot, in the direction of the > observation. > > I wrote a version of this a while back with the old MPL transforms > mechanism, but haven't taken the time to translate it. > > -Chris > > > > > -- > Christopher Barker, Ph.D. > Oceanographer > > Emergency Response Division > NOAA/NOS/OR&R (206) 526-6959 voice > 7600 Sand Point Way NE (206) 526-6329 fax > Seattle, WA 98115 (206) 526-6317 main reception > > chris.bar...@noaa.gov > > > -- > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > ___ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Christopher Barker wrote: > Eric Firing wrote: >> Christopher Barker wrote: >>> Has anyone used MPL to make stick plots? If so, can I borrow your code? >> If no one volunteers anything, then I suggest using quiver(..., >> headlength=0, headwidth=0, headaxislength=0), together with >> quiverkey(...). This will effectively give you a stick plot, with lots >> of flexibility. > > Thanks, I was thinking that quiver() would get direction wrong, as the x > and y scales are in totally different units, but it looks like that's > not the case if you use the "angles" keyword: > > angles: [‘uv’ | ‘xy’ | array] > With the default ‘uv’, the arrow aspect ratio is 1, so that if > U*==*V the angle of the arrow on the plot is 45 degrees CCW from the > x-axis. With ‘xy’, the arrow points from (x,y) to (x+u, y+v). > Alternatively, arbitrary angles may be specified as an array of values > in degrees, CCW from the x-axis. > > > It could be implemented more efficiently in any of >> several ways, but it would take work to do it well. > > I hope I'll get time to do that, but I don't really like quiver stick > plots anyway. I prefer plots (that I don't know the name of) that: > > > Time is on the x axis > > Magnitude of the velocity is the x axis > > At each data point, there is a dot, and the direction is given with a > unit-length arrow originating at that dot, in the direction of the > observation. I think this would be straightforward, using an ordinary plot command plus quiver. Eric > > I wrote a version of this a while back with the old MPL transforms > mechanism, but haven't taken the time to translate it. > > -Chris > > > > -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Eric Firing wrote: > Christopher Barker wrote: >> Has anyone used MPL to make stick plots? If so, can I borrow your code? > If no one volunteers anything, then I suggest using quiver(..., > headlength=0, headwidth=0, headaxislength=0), together with > quiverkey(...). This will effectively give you a stick plot, with lots > of flexibility. Thanks, I was thinking that quiver() would get direction wrong, as the x and y scales are in totally different units, but it looks like that's not the case if you use the "angles" keyword: angles: [‘uv’ | ‘xy’ | array] With the default ‘uv’, the arrow aspect ratio is 1, so that if U*==*V the angle of the arrow on the plot is 45 degrees CCW from the x-axis. With ‘xy’, the arrow points from (x,y) to (x+u, y+v). Alternatively, arbitrary angles may be specified as an array of values in degrees, CCW from the x-axis. > It could be implemented more efficiently in any of > several ways, but it would take work to do it well. I hope I'll get time to do that, but I don't really like quiver stick plots anyway. I prefer plots (that I don't know the name of) that: Time is on the x axis Magnitude of the velocity is the x axis At each data point, there is a dot, and the direction is given with a unit-length arrow originating at that dot, in the direction of the observation. I wrote a version of this a while back with the old MPL transforms mechanism, but haven't taken the time to translate it. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R(206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Christopher Barker wrote: > Hi folks, > > Has anyone used MPL to make stick plots? If so, can I borrow your code? > > http://tabs.gerg.tamu.edu/Tglo/RTA/N/Oceanographic_CurrentStick_30.html > > Thanks, > > -Chris > > > Chris, If no one volunteers anything, then I suggest using quiver(..., headlength=0, headwidth=0, headaxislength=0), together with quiverkey(...). This will effectively give you a stick plot, with lots of flexibility. It could be implemented more efficiently in any of several ways, but it would take work to do it well. Eric -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Stick Plot?
Christopher Barker wrote: > Hi folks, > > Has anyone used MPL to make stick plots? If so, can I borrow your code? > > http://tabs.gerg.tamu.edu/Tglo/RTA/N/Oceanographic_CurrentStick_30.html > > Thanks, > > -Chris > > > Chris, This would be a good addition. It might be implemented nicely by subclassing LineCollection, adding a set_transforms method something like that in EllipseCollection. Eric -- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users