Python 使用matplotlib模块模拟掷骰子


Posted in Python onAugust 08, 2019

掷骰子

骰子类

# die.py 骰子类模块
from random import randint
class Die():
  """骰子类"""
  def __init__(self, num_sides=6):
    """默认六面的骰子"""
    self.num_sides = num_sides
  def roll(self):
    """掷骰子的方法"""
    return randint(1, self.num_sides)

折线图掷骰子

# die_visual_plot.py 使用plot可视化骰子
import matplotlib.pyplot as plt
from die import Die
# Initialization
die = Die()
# 掷骰子
results = [die.roll() for x in range(1000)]
# 分析结果
frequencies = [results.count(x) for x in range(1, die.num_sides+1)]
# 可视化结果
values = [x for x in range(1, die.num_sides+1)]
plt.plot(values, frequencies, linewidth=2, marker='o', markerfacecolor='yellow', markersize=5, color='b')
# 设置图表
plt.title('Roll a die using matplotlib', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Frequency', fontsize=14)
# 显示数据
for x, y in zip(values, frequencies):
  # 将y数据加载到(x,y)位置
  plt.text(x, y, y, fontsize=12, color='red', ha='center', va='bottom')
# 显示结果
plt.show()

散点图掷骰子

# die_visual_scatter.py 使用scatter可视化骰子
import matplotlib.pyplot as plt
from die import Die
# Initialization
die = Die()
# 掷骰子
results = [die.roll() for x in range(1000)]
# 分析结果
frequencies = [results.count(x) for x in range(1, die.num_sides+1)]
# 可视化结果
values = [x for x in range(1, die.num_sides+1)]
plt.scatter(values, frequencies, c=frequencies, cmap=plt.cm.Blues, edgecolor='none', s=10)
# 设置图表
plt.title('Roll a die using matplotlib', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Frequency', fontsize=14)
# 显示数据
for x, y in zip(values, frequencies):
  # 将y数据加载到(x,y)位置
  plt.text(x, y, y, fontsize=12, color='red', ha='center', va='bottom')
# 显示结果
plt.show()

Python 使用matplotlib模块模拟掷骰子 Python 使用matplotlib模块模拟掷骰子

总结

以上所述是小编给大家介绍的Python 使用matplotlib模块模拟掷骰子,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
Python开发网站目录扫描器的实现
Feb 21 Python
python根据多个文件名批量查找文件
Aug 13 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
简单了解python中的f.b.u.r函数
Nov 02 Python
pytorch 修改预训练model实例
Jan 18 Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 Python
Django之全局使用request.user.username的实例详解
May 14 Python
用于ETL的Python数据转换工具详解
Jul 21 Python
如何在mac版pycharm选择python版本
Jul 21 Python
Python自动化实战之接口请求的实现
May 30 Python
Pycharm远程调试原理及具体配置详解
Aug 08 #Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 #Python
python多线程与多进程及其区别详解
Aug 08 #Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 #Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 #Python
Django 实现前端图片压缩功能的方法
Aug 07 #Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 #Python
You might like
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
react 生命周期实例分析
2020/05/18 Javascript
在Python中移动目录结构的方法
2016/01/31 Python
python中的随机函数小结
2018/01/27 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Django实现学员管理系统
2019/02/26 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
师范生自我鉴定
2014/03/20 职场文书
公务员处分决定书
2015/06/25 职场文书
婚礼家长致辞
2015/07/27 职场文书
中学语文教学反思
2016/02/16 职场文书
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis