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 相关文章推荐
让python的Cookie.py模块支持冒号做key的方法
Dec 28 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
在Pycharm中设置默认自动换行的方法
Jan 16 Python
Python中的引用知识点总结
May 20 Python
python3 实现调用串口功能
Dec 26 Python
Python Merge函数原理及用法解析
Sep 16 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
Oct 15 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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 If Else(elsefi) 语句
2013/04/07 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
关于Django外键赋值问题详解
2017/08/13 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python设置值及NaN值处理方法
2018/07/03 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
厨房工作人员岗位职责
2013/11/15 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
信用卡工作证明模板
2014/09/14 职场文书
财务检查整改报告
2014/11/06 职场文书
教育实习指导教师评语
2014/12/31 职场文书
小学科学教学计划
2015/01/21 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python