2016-09-09 126 views
0

Python新手,试图完成我认为最简单的任务:绘制基本的2D矢量。然而,我的在线搜索让我无处可去,所以我转向了第一个问题的stackoverflow。绘制简单的2D矢量

我只想绘制一个2D矢量,我们称它为my_vector。 my_vector从(0,0)到(3,11)。

我所做的是这样的:

from __future__ import print_function 
import numpy as np 
import pylab as pl 
%pylab inline 

x_cords = np.arange(4) 
y_cords = np.linspace(0, 11, 4) 
my_vector = vstack([x_cords, y_cords]) 
fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot(my_vector) 
plt.show() 

这给下面的图片(而且完全不是我后):

a very wrong plot

但是我发现,

ax.plot(x_cords, y_cords) 

而不是

ax.plot(my_vector) 

给我的情节,我正在寻找,但后来我没有那个单一的矢量我后。

那么如何正确绘制一个基本的2D矢量?谢谢你,对不起,如果这确实已经贴别的地方...

+1

你试过'hstack'你的x和y坐标? – Andrew

+0

是的,但不是基本上只是连接x和y坐标? – keli

+0

它确实如此,但'vstack'也是如此,我只是想知道数组的形状是否会影响它。 – Andrew

回答

0

您也可以解开你的二维矢量

pl.plot(*my_vector) 

这是有效地只是做

pl.plot(x_cords, y_cords) 
+0

他们是否也可以用两点((0,3)和(0,11))做一个线图? – Andrew

+0

谢谢@CoryKramer! – keli

+0

一个后续问题:如何在使用'*'绘图时操纵线条的样式或颜色? – keli