通过直方图绘制数据

时间:2018-12-01 23:59:52

标签: python plot histogram

问题是:编写一个函数(plotRandomNumbers),该函数使用循环来 生成一个随机数列表,并将这些随机数绘制在具有20个存储桶的直方图中(即 20个计数范围)。

到目前为止,我拥有的代码是:

import numpy as np
import matplotlib.pyplot as plt

def plotRandomNumbers(N):
    values=list()
    i=1
    while i<=N:
        values.append(generateRandom())
        i+=1

    plt.hist(values, bins=range(0,100+1,(100-0)/20)
    plt.suptitle('Random Numbers', fontsize=20)
    plt.xlabel('Range', fontsize=18)
    plt.xlabel('Frequency', fontsize=18)
    plt.show()
    return

def generateRandom():
    return np.random.randint(0,100)

if__name__=='__main__':
    plotRandomNumbers(1000)

我相信这应该可行,但是对于plt.suptitle('Random Numbers',fontsize = 20),它表示语法无效。顺便说一下,这适用于Python 3.7。

1 个答案:

答案 0 :(得分:0)

除了缺少的),您还需要将range中的步长转换为

的整数类型
plt.hist(values, bins=range(0,100+1,int((100-0)/20)))

enter image description here