numpy+plot初试

#coding:utf-8
"""
灵活设置筛子个数,比如3个筛子
"""
import numpy as np
import matplotlib.pyplot as plt
#图形标注支持中文
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False

def main():
    totaltimes =20000
    shaizi_nmb=4
    shape1 = int(shaizi_nmb * 6)
    rollall_arr = np.empty(totaltimes)

    for a in range(shaizi_nmb):
        roll1_arr=np.random.randint(1, 7, size=totaltimes)#非np的random包含后面一个值,但np下randint未包含
        #numpy的两个直接相加就是对于位置的数相加
        rollall_arr +=roll1_arr


    #将直方图的数据存储起来,bins代表x坐标,比实际数值个数多1个就好
    hist, bins= np.histogram(rollall_arr, bins=range(2,shape1+2))
    print(hist)
    print(bins)

    #可视化#normed=1是归一化看概率
    plt.hist(rollall_arr, bins=range(2,shape1+2),density=1,edgecolor="black",rwidth=0.8)

    #设置x轴,坐标轴点的显示
    tick_labels_num=list(bins)
    tick_labels=[]
    for i in tick_labels_num:
        tick_labels.append("{}点".format(i))
    #tick_pos = np.arange(2,shape1+2)+0.5#0.5是为了让文字显示在直方图对应图形的正下方
    tick_pos = bins+0.5
    plt.xticks(tick_pos,tick_labels)

    plt.title("摇{}个筛子的结果分布".format(shaizi_nmb))
    plt.xlabel("点数")
    plt.ylabel("频次")

    plt.show()


if __name__=="__main__":
    main()

  

 

转载于:https://www.cnblogs.com/qiu-1010/p/10697814.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值