2011-09-08 82 views

回答

18

Staven已经编辑了他的帖子,包括如何绘制y值为1的值,但他使用的是Python列表。

,应该是更快的(虽然我没有衡量)的变体只使用numpy的数组:

import numpy as np 
import matplotlib.pyplot as pp 
val = 0. # this is the value where you want the data to appear on the y-axis. 
ar = np.arange(10) # just as an example array 
pp.plot(ar, np.zeros_like(ar) + val, 'x') 
pp.show() 
+0

这是什么功能** zeros_like()**?你能定义它吗? –

+2

修复了语法错误。 –

+2

zeros_like就像np.zeros()为你提供了一个用零填充的数组,但是_like()会假定提供的数组的形状。还有一个ones_like(),非常方便 –

13

这将绘制阵列“AR”:

import matplotlib.pyplot as pp 
ar = [1, 2, 3, 8, 4, 5] 
pp.plot(ar) 
pp.show() 

如果您使用IPython中,你可以用“-pylab”选项启动它,它会导入numpy的并在启动时自动matplotlib,所以你只需要编写:

ar = [1, 2, 3, 8, 4, 5] 
plot(ar) 

要做到与Y的散点图坐标设置为1:

plot(ar, len(ar) * [1], "x") 
+0

嗨,感谢您的回答。这是我第一次尝试的方式,但可能是我无法正确解释我的问题。它绘制的绘图是通过连接ar中的点而形成的连续线。 我有一个分布在(-1,6)中的800个数据值的一维数组。我只想绘制一个常量Y(http://static.inky.ws/image/644/image.jpg)上的点,但是用你解释的方法得到了这样的东西(http://static.inky。 WS /图像/ 645/image.jpg的)。 –

+0

我得到的第一个阴谋是用matlab,我想用matplotlib做一个类似的阴谋。 –