掷骰子

骰子类

# 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. ZOJ 3527

    这题难在破环. 对于不是环的情况,只需按照一般的树形DP来做,一步一步往根递推就可以了.对于环,则枚举其中一点的两种情况,取或不取,然后再递推,就可以了.当到达某结点的下一结点为环开始的点时,退出即可 ...

  2. SPOJ 1811LCS Longest Common Substring

    后缀自己主动机裸题.... Longest Common Substring Time Limit: 2000MS   Memory Limit: Unknown   64bit IO Format: ...

  3. java中tcp小样例

    服务端: ServerSocket service = new ServerSocket(7777); Socket socket = service.accept(); InputStream in ...

  4. java根据内容生成二维码图片

    package util; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; ...

  5. JavaScript 和Ajax跨域问题

    json格式: { "message":"获取成功", "state":"1", "result": ...

  6. 使用Lucene对预处理后的文档进行创建索引(可执行)

    时间: 2015/3/18 杨鑫newlife 对于文档的预处理后.就要開始使用Lucene来处理相关的内容了. 这里使用的Lucene的过程例如以下: 首先要为处理对象机那里索引 二是构建查询对象 ...

  7. PDF.NET支持最新的SQLite数据库

    最近项目中用到了SQLite,之前项目中用的是PDF.NET+MySQL的组合,已经写了不少代码,如果能把写好的代码直接用在SQLite上就好了,PDF.NET支持大部分主流的数据库,这个当然可以,只 ...

  8. ubuntu之修改ls显示颜色

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

  9. C语言 - typedef struct 与struct

    c语言中可以选择的数据类型太少了. Java中有一些高级的数据结构. 结构中能够存放基本的数据类型以及其他的结构. 结构定义,一般放在程序的开头部分. 一般放在include之后. #include ...

  10. nyoj--252--01串(水题)

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长度的0 ...