python - 在 Python 中绘制随机数

标签 python random plot numbers

我正在尝试使用以下方法生成和绘制随机数:

from numpy import random
import matplotlib.pyplot as plt

z = 15 + 2*random.randn(200) #200 elements, normal dist with mean = 15, sd = 2

plt.plot(z)
plt.show(z)

图表已绘制,但 Python (2.7.5) 卡住并且出现错误

Traceback (most recent call last):
  File "G:\Stage 2 expt\e298\q1.py", line 25, in <module>
    plt.show(z)
  File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 145, in show
    _show(*args, **kw)
  File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line 90, in     __call__
    if block:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

当我像这样执行 for 循环时完全没问题:

from numpy import random
from pylab import plot,show

yvec = [] # set up an empty vector 
for i in range(200): # want 200 numbers
    yy = 25 + 3*random.randn() # normal dist with mean = 15, sd = 2
    yvec.append(yy) # enter yy into vector

plot(yvec)
show(yvec)

有人可以澄清一下吗?

最佳答案

函数pylab.show不接受列表或数组,它接受一个可选的 bool 值(当然不是您的数据数组)。第一个示例中的 numpy 数组无法隐式转换为 bool 值,从而引发错误。然而,第二个可以转换为 bool 值,如果非空,它将计算为 True

要修复此问题,只需调用不带任何参数的 show 即可。

关于python - 在 Python 中绘制随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420709/

相关文章:

java - 如何在 java 中创建和显示随机数数组列表?

ruby - 如何获得具有最小值的随机数

matlab - 使用 x、y、z 点绘制曲面

python - 在 Python 和 Qt 之间共享多播接收器端口

python - 如何在 UML 图中建模 python 属性

matlab - 如何通过播种随机抽样数据?

R - 设置边距不起作用

arrays - 如何根据 MA​​TLAB 中的时间合并数据集?

python - 切片表示嵌套列表的 NumPy 数组

Python 溢出错误 : math range error