[Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Brickle Macho
I have a list of surface normals I would like to plot.  Is there a way 
to plot a 3D vectors in matplotlib similar to how quiver plots 2D vectors?

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Benjamin Root
On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.comwrote:

 I have a list of surface normals I would like to plot.  Is there a way
 to plot a 3D vectors in matplotlib similar to how quiver plots 2D vectors?


Not at this time, but that would make a great feature request!  I think the
current roadblock to such a function is a bug with converting 2d arrow
objects into 3d arrows.

Ben Root
--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Eric Firing
On 2013/03/07 9:19 AM, Benjamin Root wrote:


 On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.com
 mailto:bricklema...@gmail.com wrote:

 I have a list of surface normals I would like to plot.  Is there a way
 to plot a 3D vectors in matplotlib similar to how quiver plots 2D
 vectors?


 Not at this time, but that would make a great feature request!  I think
 the current roadblock to such a function is a bug with converting 2d
 arrow objects into 3d arrows.

Quiver uses a PolyCollection, and I see that there is a Poly3DCollection.

Eric


 Ben Root


--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Benjamin Root
On Thu, Mar 7, 2013 at 4:25 PM, Eric Firing efir...@hawaii.edu wrote:

 On 2013/03/07 9:19 AM, Benjamin Root wrote:
 
 
  On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.com
  mailto:bricklema...@gmail.com wrote:
 
  I have a list of surface normals I would like to plot.  Is there a
 way
  to plot a 3D vectors in matplotlib similar to how quiver plots 2D
  vectors?
 
 
  Not at this time, but that would make a great feature request!  I think
  the current roadblock to such a function is a bug with converting 2d
  arrow objects into 3d arrows.

 Quiver uses a PolyCollection, and I see that there is a Poly3DCollection.

 Eric

 
  Ben Root



Took a bit of digging, but I knew I remembered this question before:

http://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CDMQFjAAurl=http%3A%2F%2Fmatplotlib.1069221.n5.nabble.com%2F2D-Quiver-in-Axes3D-td27944.htmlei=Pwk5UfGdLufv0QHuroD4BAusg=AFQjCNEqlWv2vY5l2IPcje-g6B0U21wDNwbvm=bv.43287494,d.dmQ

And the feature request is here:
https://github.com/matplotlib/matplotlib/issues/1026

In the thread I pointed out a bug that I encountered.  I really hope I get
some free time soon so that I can work on the various feature requests in
mplot3d.

Cheers!
Ben Root
--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Brickle Macho
Thanks.   I had a quick read of the thread linked, if I was a 
stronger/better programmer I would see if I could contribute.


For now I plan calculate/plot the angle between the normal and each the 
X,Y,Z planes.  I hopefully the 3 subplots will visually convey 
sufficient information.


Brickle.
--

On 8/03/13 5:43 AM, Benjamin Root wrote:



On Thu, Mar 7, 2013 at 4:25 PM, Eric Firing efir...@hawaii.edu 
mailto:efir...@hawaii.edu wrote:


On 2013/03/07 9:19 AM, Benjamin Root wrote:


 On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho
bricklema...@gmail.com mailto:bricklema...@gmail.com
 mailto:bricklema...@gmail.com mailto:bricklema...@gmail.com
wrote:

 I have a list of surface normals I would like to plot.  Is
there a way
 to plot a 3D vectors in matplotlib similar to how quiver
plots 2D
 vectors?


 Not at this time, but that would make a great feature request!
 I think
 the current roadblock to such a function is a bug with converting 2d
 arrow objects into 3d arrows.

Quiver uses a PolyCollection, and I see that there is a
Poly3DCollection.

Eric


 Ben Root



Took a bit of digging, but I knew I remembered this question before:

http://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CDMQFjAAurl=http%3A%2F%2Fmatplotlib.1069221.n5.nabble.com%2F2D-Quiver-in-Axes3D-td27944.htmlei=Pwk5UfGdLufv0QHuroD4BAusg=AFQjCNEqlWv2vY5l2IPcje-g6B0U21wDNwbvm=bv.43287494,d.dmQ

And the feature request is here:
https://github.com/matplotlib/matplotlib/issues/1026

In the thread I pointed out a bug that I encountered.  I really hope I 
get some free time soon so that I can work on the various feature 
requests in mplot3d.


Cheers!
Ben Root



--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev


___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Damon McDougall
On Thu, Mar 7, 2013 at 5:32 PM, Brickle Macho bricklema...@gmail.com wrote:
 Thanks.   I had a quick read of the thread linked, if I was a
 stronger/better programmer I would see if I could contribute.

 For now I plan calculate/plot the angle between the normal and each the
 X,Y,Z planes.  I hopefully the 3 subplots will visually convey sufficient
 information.

Correct me if I'm wrong, but would a 2D quiver plot on top of a
contour plot work?  What spaces does the surface map to/from?  If your
surface can be expressed as a function f:R^2 - R then it's equivalent
to look at its level sets, rather than the 3D picture.  You can then
project the surface normals onto the plane and plot them with a 2D
quiver plot.  If you want to keep the z-component information, then
you could colour the arrows according to the angle they make with the
x-y plane.

Does that make sense?

I put the original feature request in, and I think it would be useful,
but often I still find it easier to process two dimensional
information.

N.B.  The above will only work for *functions* f:R^2 - R.  To
clarify, a sphere cannot be expressed this way, because the resulting
mapping would be multivalued.  Using this method, two distinct surface
normals may have the same colour.

Hope that makes sense.

Best wishes,
Damon


 Brickle.
 --


 On 8/03/13 5:43 AM, Benjamin Root wrote:



 On Thu, Mar 7, 2013 at 4:25 PM, Eric Firing efir...@hawaii.edu wrote:

 On 2013/03/07 9:19 AM, Benjamin Root wrote:
 
 
  On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.com
  mailto:bricklema...@gmail.com wrote:
 
  I have a list of surface normals I would like to plot.  Is there a
  way
  to plot a 3D vectors in matplotlib similar to how quiver plots 2D
  vectors?
 
 
  Not at this time, but that would make a great feature request!  I think
  the current roadblock to such a function is a bug with converting 2d
  arrow objects into 3d arrows.

 Quiver uses a PolyCollection, and I see that there is a Poly3DCollection.

 Eric

 
  Ben Root



 Took a bit of digging, but I knew I remembered this question before:

 http://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CDMQFjAAurl=http%3A%2F%2Fmatplotlib.1069221.n5.nabble.com%2F2D-Quiver-in-Axes3D-td27944.htmlei=Pwk5UfGdLufv0QHuroD4BAusg=AFQjCNEqlWv2vY5l2IPcje-g6B0U21wDNwbvm=bv.43287494,d.dmQ

 And the feature request is here:
 https://github.com/matplotlib/matplotlib/issues/1026

 In the thread I pointed out a bug that I encountered.  I really hope I get
 some free time soon so that I can work on the various feature requests in
 mplot3d.

 Cheers!
 Ben Root



 --
 Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
 Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
 endpoint security space. For insight on selecting the right partner to
 tackle endpoint security challenges, access the full report.
 http://p.sf.net/sfu/symantec-dev2dev



 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users



 --
 Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
 Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
 endpoint security space. For insight on selecting the right partner to
 tackle endpoint security challenges, access the full report.
 http://p.sf.net/sfu/symantec-dev2dev
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users




-- 
Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Brickle Macho
On 8/03/13 8:37 AM, Damon McDougall wrote:
 Correct me if I'm wrong, but would a 2D quiver plot on top of a
 contour plot work?  What spaces does the surface map to/from?  If your
 surface can be expressed as a function f:R^2 - R then it's equivalent
 to look at its level sets, rather than the 3D picture.  You can then
 project the surface normals onto the plane and plot them with a 2D
 quiver plot.  If you want to keep the z-component information, then
 you could colour the arrows according to the angle they make with the
 x-y plane.

 Does that make sense?

My source is an image, so technically f:R^2 - R.  Specifically I am 
using depth maps or (range image) what to visualise the 
surfaces/normals.   I was  planing on plotting the image as surface 
(hadn't work out how yet) and overlay the normal vectors.  I think a 2D 
quiver plot on top of a contour plot may provide a useful 
visualisation/interpretation of the process.

Thanks for the idea.

Brickle.
--





 I put the original feature request in, and I think it would be useful,
 but often I still find it easier to process two dimensional
 information.

 N.B.  The above will only work for *functions* f:R^2 - R.  To
 clarify, a sphere cannot be expressed this way, because the resulting
 mapping would be multivalued.  Using this method, two distinct surface
 normals may have the same colour.

 Hope that makes sense.

 Best wishes,
 Damon

 Brickle.
 --


 On 8/03/13 5:43 AM, Benjamin Root wrote:



 On Thu, Mar 7, 2013 at 4:25 PM, Eric Firing efir...@hawaii.edu wrote:
 On 2013/03/07 9:19 AM, Benjamin Root wrote:

 On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.com
 mailto:bricklema...@gmail.com wrote:

  I have a list of surface normals I would like to plot.  Is there a
 way
  to plot a 3D vectors in matplotlib similar to how quiver plots 2D
  vectors?


 Not at this time, but that would make a great feature request!  I think
 the current roadblock to such a function is a bug with converting 2d
 arrow objects into 3d arrows.
 Quiver uses a PolyCollection, and I see that there is a Poly3DCollection.

 Eric

 Ben Root

 Took a bit of digging, but I knew I remembered this question before:

 http://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CDMQFjAAurl=http%3A%2F%2Fmatplotlib.1069221.n5.nabble.com%2F2D-Quiver-in-Axes3D-td27944.htmlei=Pwk5UfGdLufv0QHuroD4BAusg=AFQjCNEqlWv2vY5l2IPcje-g6B0U21wDNwbvm=bv.43287494,d.dmQ

 And the feature request is here:
 https://github.com/matplotlib/matplotlib/issues/1026

 In the thread I pointed out a bug that I encountered.  I really hope I get
 some free time soon so that I can work on the various feature requests in
 mplot3d.

 Cheers!
 Ben Root



 --
 Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
 Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
 endpoint security space. For insight on selecting the right partner to
 tackle endpoint security challenges, access the full report.
 http://p.sf.net/sfu/symantec-dev2dev



 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users



 --
 Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
 Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
 endpoint security space. For insight on selecting the right partner to
 tackle endpoint security challenges, access the full report.
 http://p.sf.net/sfu/symantec-dev2dev
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users





--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Is there a 3D version of the quiver plot?

2013-03-07 Thread Nelle Varoquaux
On 8 March 2013 03:19, Brickle Macho bricklema...@gmail.com wrote:

 On 8/03/13 8:37 AM, Damon McDougall wrote:
  Correct me if I'm wrong, but would a 2D quiver plot on top of a
  contour plot work?  What spaces does the surface map to/from?  If your
  surface can be expressed as a function f:R^2 - R then it's equivalent
  to look at its level sets, rather than the 3D picture.  You can then
  project the surface normals onto the plane and plot them with a 2D
  quiver plot.  If you want to keep the z-component information, then
  you could colour the arrows according to the angle they make with the
  x-y plane.
 
  Does that make sense?

 My source is an image, so technically f:R^2 - R.  Specifically I am
 using depth maps or (range image) what to visualise the
 surfaces/normals.   I was  planing on plotting the image as surface
 (hadn't work out how yet) and overlay the normal vectors.  I think a 2D
 quiver plot on top of a contour plot may provide a useful
 visualisation/interpretation of the process.


You always have the solution to install mayavi, a 3D plotting library. The
API resemble maptlotlib's and it supports 3D quiver plots.

Cheers,
N



 Thanks for the idea.

 Brickle.
 --




 
  I put the original feature request in, and I think it would be useful,
  but often I still find it easier to process two dimensional
  information.
 
  N.B.  The above will only work for *functions* f:R^2 - R.  To
  clarify, a sphere cannot be expressed this way, because the resulting
  mapping would be multivalued.  Using this method, two distinct surface
  normals may have the same colour.
 
  Hope that makes sense.
 
  Best wishes,
  Damon
 
  Brickle.
  --
 
 
  On 8/03/13 5:43 AM, Benjamin Root wrote:
 
 
 
  On Thu, Mar 7, 2013 at 4:25 PM, Eric Firing efir...@hawaii.edu wrote:
  On 2013/03/07 9:19 AM, Benjamin Root wrote:
 
  On Thu, Mar 7, 2013 at 2:14 PM, Brickle Macho bricklema...@gmail.com
  mailto:bricklema...@gmail.com wrote:
 
   I have a list of surface normals I would like to plot.  Is there
 a
  way
   to plot a 3D vectors in matplotlib similar to how quiver plots 2D
   vectors?
 
 
  Not at this time, but that would make a great feature request!  I
 think
  the current roadblock to such a function is a bug with converting 2d
  arrow objects into 3d arrows.
  Quiver uses a PolyCollection, and I see that there is a
 Poly3DCollection.
 
  Eric
 
  Ben Root
 
  Took a bit of digging, but I knew I remembered this question before:
 
 
 http://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CDMQFjAAurl=http%3A%2F%2Fmatplotlib.1069221.n5.nabble.com%2F2D-Quiver-in-Axes3D-td27944.htmlei=Pwk5UfGdLufv0QHuroD4BAusg=AFQjCNEqlWv2vY5l2IPcje-g6B0U21wDNwbvm=bv.43287494,d.dmQ
 
  And the feature request is here:
  https://github.com/matplotlib/matplotlib/issues/1026
 
  In the thread I pointed out a bug that I encountered.  I really hope I
 get
  some free time soon so that I can work on the various feature requests
 in
  mplot3d.
 
  Cheers!
  Ben Root
 
 
 
 
 --
  Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
  Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
  endpoint security space. For insight on selecting the right partner to
  tackle endpoint security challenges, access the full report.
  http://p.sf.net/sfu/symantec-dev2dev
 
 
 
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 
 
 
 --
  Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
  Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
  endpoint security space. For insight on selecting the right partner to
  tackle endpoint security challenges, access the full report.
  http://p.sf.net/sfu/symantec-dev2dev
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 
 



 --
 Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
 Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the
 endpoint security space. For insight on selecting the right partner to
 tackle endpoint security challenges, access the full report.
 http://p.sf.net/sfu/symantec-dev2dev
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013