From: aditya b. <ad...@we...> - 2010-05-02 18:19:38
|
Is there a straightforward way of plotting a vector in matplotlib? Suppose I want to plot the vector [1 2]'. If I pass this vector in to plot(), I get the line that passes through (0,1), (1,2). Instead I want the line that passes through (0,0),(1,2). Aditya wefoundland.com |
From: Johan G. <joh...@gm...> - 2010-05-03 08:40:25
|
2010-05-02 20:19, aditya bhargava skrev: > Is there a straightforward way of plotting a vector in matplotlib? > Suppose I want to plot the vector [1 2]'. If I pass this vector in to > plot(), I get the line that passes through (0,1), (1,2). Instead I want > the line that passes through (0,0),(1,2). > I use pyplot.Arrow to visualize displacement fields. This is a snippet copied from the code I use (it sits in a loop over all vectors I want to plot): arr = plt.Arrow(x, y, dx, dy) plt.gca().add_patch(arr) In your case, you would have (x, y) = (0, 0) and (dx, dy) = (1, 2). Regards Johan |
From: aditya b. <blu...@gm...> - 2010-05-04 01:03:11
|
Thanks Johan and Matthias, I was just wondering if there was a built-in way to do this in matplotlib. It seems like it would be a useful method to have. Adit 2010/5/3 Johan Grönqvist <joh...@gm...> > 2010-05-02 20:19, aditya bhargava skrev: > > Is there a straightforward way of plotting a vector in matplotlib? > > Suppose I want to plot the vector [1 2]'. If I pass this vector in to > > plot(), I get the line that passes through (0,1), (1,2). Instead I want > > the line that passes through (0,0),(1,2). > > > > I use pyplot.Arrow to visualize displacement fields. > > This is a snippet copied from the code I use (it sits in a loop over all > vectors I want to plot): > > > arr = plt.Arrow(x, y, dx, dy) > plt.gca().add_patch(arr) > > In your case, you would have (x, y) = (0, 0) and (dx, dy) = (1, 2). > > Regards > > Johan > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- wefoundland.com |
From: Joe K. <jki...@wi...> - 2010-05-04 02:14:09
|
Isn't that what quiver<http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.quiver>does? Or am I misunderstanding the question? 2010/5/3 aditya bhargava <blu...@gm...> > Thanks Johan and Matthias, > I was just wondering if there was a built-in way to do this in matplotlib. > It seems like it would be a useful method to have. > > Adit > > > 2010/5/3 Johan Grönqvist <joh...@gm...> > > 2010-05-02 20:19, aditya bhargava skrev: >> > Is there a straightforward way of plotting a vector in matplotlib? >> > Suppose I want to plot the vector [1 2]'. If I pass this vector in to >> > plot(), I get the line that passes through (0,1), (1,2). Instead I want >> > the line that passes through (0,0),(1,2). >> > >> >> I use pyplot.Arrow to visualize displacement fields. >> >> This is a snippet copied from the code I use (it sits in a loop over all >> vectors I want to plot): >> >> >> arr = plt.Arrow(x, y, dx, dy) >> plt.gca().add_patch(arr) >> >> In your case, you would have (x, y) = (0, 0) and (dx, dy) = (1, 2). >> >> Regards >> >> Johan >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > > -- > wefoundland.com > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: aditya b. <blu...@gm...> - 2010-05-04 03:12:05
|
I don't think that plots a vector. Here's the sort of thing I was looking for: http://www.mathworks.com/matlabcentral/fx_files/23608/1/content/html/drawLAInro_02.png Of course it doesn't need to be a point...it can be a line or a line segment too. Adit On Mon, May 3, 2010 at 9:13 PM, Joe Kington <jki...@wi...> wrote: > Isn't that what quiver<http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.quiver>does? Or am I misunderstanding the question? > > 2010/5/3 aditya bhargava <blu...@gm...> > >> Thanks Johan and Matthias, >> I was just wondering if there was a built-in way to do this in matplotlib. >> It seems like it would be a useful method to have. >> >> Adit >> >> >> 2010/5/3 Johan Grönqvist <joh...@gm...> >> >> 2010-05-02 20:19, aditya bhargava skrev: >>> > Is there a straightforward way of plotting a vector in matplotlib? >>> > Suppose I want to plot the vector [1 2]'. If I pass this vector in to >>> > plot(), I get the line that passes through (0,1), (1,2). Instead I want >>> > the line that passes through (0,0),(1,2). >>> > >>> >>> I use pyplot.Arrow to visualize displacement fields. >>> >>> This is a snippet copied from the code I use (it sits in a loop over all >>> vectors I want to plot): >>> >>> >>> arr = plt.Arrow(x, y, dx, dy) >>> plt.gca().add_patch(arr) >>> >>> In your case, you would have (x, y) = (0, 0) and (dx, dy) = (1, 2). >>> >>> Regards >>> >>> Johan >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> >> >> >> -- >> wefoundland.com >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > -- wefoundland.com |
From: Johan G. <joh...@gm...> - 2010-05-04 05:20:14
|
2010-05-04 04:13, Joe Kington skrev: > Isn't that what quiver > <http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.quiver> > does? Or am I misunderstanding the question? Regardless of the OPs question, the quiver seems to be the solution I should use for my purpose. Thanks. / Johan |