掷骰子

骰子类

# 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模块模拟掷骰子的更多相关文章

  1. Python Tkinter小实例——模拟掷骰子

    什么是Tkinter? Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安 ...

  2. Python绘制直方图 Pygal模拟掷骰子

    #coding=utf-8 from random import randint class Die(): """骰子类""" def __ ...

  3. 使用python实现模拟掷骰子数据分析

    Data:2020/4/8 主题:模拟实现掷骰子数据分析 编译环境:pycharm 库:pygal 说明: code 1:创建一个掷骰子类对象,类方法获得掷骰子随机数1-6,默认6个面,模拟20次将结 ...

  4. 为python安装matplotlib模块

    matplotlib是python中强大的画图模块. 首先确保已经安装python,然后用pip来安装matplotlib模块. 进入到cmd窗口下,执行python -m pip install - ...

  5. Python使用matplotlib模块绘制多条折线图、散点图

    用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...

  6. python之 matplotlib模块之基本三图形(直线,曲线,直方图,饼图)

    matplotlib模块是python中一个强大的绘图模块 安装 pip  install matplotlib 首先我们来画一个简单的图来感受它的神奇 import numpy as np impo ...

  7. Python之matplotlib模块安装

    numpy 1.下载安装 源代码 http://sourceforge.net/projects/numpy/files/NumPy/ 安装 python2.7 setup.py install 2. ...

  8. Python中matplotlib模块解析

    用Matplotlib绘制二维图像的最简单方法是: 1.  导入模块 导入matplotlib的子模块 import matplotlib.pyplot as plt import numpy as ...

  9. Python的matplotlib模块的使用-Github仓库

    import matplotlib.pyplot as plt import numpy as np import requests url='https://api.github.com/searc ...

随机推荐

  1. HLS直播技术方案及踩过的坑

    一.为什么是IJKPlayer 在基础技术方面,后端有比較成熟的系统,就不再说了,这里说说client方面. 有直播就会有弹幕.基本上是标配了. 字幕方面bilibili开源了一个Android的项目 ...

  2. ubuntu之修改ls显示颜色

    Linux 系统中 ls 文件夹的痛苦我就不说了,为了不伤眼睛,一般 ssh 终端背景都用的黑色,文件夹又是你妈的深蓝色,每次看文件夹都要探头仔细去看.这下彻底解决这个问题.   因为ubuntu下的 ...

  3. netpbm开机logo制作工作【转】

    本文转载自: http://www.fx114.net/qa-19-74437.aspx

  4. TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)

    官网:https://developer.nvidia.com/tensorrt 作用:NVIDIA TensorRT™ is a high-performance deep learning inf ...

  5. js 获取现在时间一个月(N天)后的日期

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 let today = new Date().getTime() let lastDay = getTimeByDay( ...

  6. html转义字符换行以及回车等的使用

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 html换行回车转义字符 换行Line feed   回车Carriage Return  html中换行转义字符 的使 ...

  7. python print 显示不同的字体

    显示格式: print('\033[显示方式;字体颜色;背景色m.....\033[0m') ------------------------------- 显示方式 | 效果 ----------- ...

  8. WinSocket聊天程序实例(多线程)

    #pragma comment(lib,"Ws2_32.lib") #include <stdio.h> #include <Winsock2.h> SOC ...

  9. maven使用杂记

    maven test使用记录 运行指定的测试类:     >mvn test -Dtest=[ClassName] 运行测试类中指定的方法:(这个需要maven-surefire-plugin: ...

  10. 获取远程请求的IP地址、本机Mac地址和客户端Mac地址

    我在近期项目里面去记录异常日志时,用到了这两个地址,也是从网上和前辈那里学习到的,本人项目是MVC框架的,自己整理了一个公共方法类,包括获取远程客户端IP和Mac地址,以及获取本机Mac地址的方法,代 ...