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程序
Apr 04 Python
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
Python批量修改文件后缀的方法
Jan 26 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
python列表使用实现名字管理系统
Jan 30 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
python 将Excel转Word的示例
Mar 02 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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
咖啡的种类和口感
2021/03/03 新手入门
php htmlspecialchars加强版
2010/02/16 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
python如何提升爬虫效率
2020/09/27 Python
Python实现简单的2048小游戏
2021/03/01 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
演讲比赛获奖感言
2014/02/02 职场文书
优秀员工评优方案
2014/06/13 职场文书
四年级数学教学反思
2016/02/16 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python