python數(shù)據(jù)可視化pygal模擬擲骰子實現(xiàn)示例
更新時間:2022年06月25日 17:44:51 作者:Z_Y_H
這篇文章主要為大家介紹了python數(shù)據(jù)可視化pygal模擬擲骰子實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
可視化包Pygal生成可縮放矢量圖形文件
可以在尺寸不同的屏幕上自動縮放,顯示圖表
#安裝pygal
pip install pygal
'''
想要了解Pygal可生成什么樣的圖表,可訪問http://www.pygal.org/
單擊document,點擊chart types,每個示例都包含源代碼
'''
from random import randint
#創(chuàng)建一個骰子的類
class Die():
def __init__(self,num_sides = 6):
self.num_sides = num_sides
def roll(self):
#返回一個位于1和骰子面數(shù)之間的隨機值
return randint(1, self.num_sides)
#擲骰子
die = Die()
#創(chuàng)建一個列表,將結果存儲在一個列表中
results = []
#投100次
for roll_num in range(100):
result = die.roll()
results.append(result)
print(results)
[3, 4, 2, 2, 6, 5, 5, 5, 2, 3, 1, 4, 3, 2, 1, 2, 3, 6, 6, 5, 5, 3, 2, 3, 1, 1, 4, 1, 4, 6, 1, 6, 2, 3, 4, 6, 2, 5, 5, 1, 6, 1, 5, 4, 3, 3, 4, 5, 6, 3, 5, 1, 4, 3, 5, 6, 6, 6, 4, 6, 5, 6, 5, 4, 6, 3, 1, 4, 1, 4, 2, 1, 1, 4, 4, 4, 2, 3, 1, 4, 6, 2, 1, 5, 6, 2, 2, 6, 6, 3, 6, 2, 6, 6, 4, 4, 2, 1, 1, 6]
分析結果,計算每個點數(shù)出現(xiàn)的次數(shù)
frequencies = []
for value in range(1, die.num_sides+1):
frequency = results.count(value)
frequencies.append(frequency)
print(frequencies)
[10, 23, 13, 9, 26, 19]
繪制直方圖
import pygal
hist = pygal.Bar()
hist.title = 'results of rolling one d6 100 times'
hist.x_lables = ['1', '2', '3', '4', '5', '6']
hist.x_title = 'result'
hist.y_title = 'frequency of result'
hist.add('d6', frequencies)
#將圖渲染為SVG文件,需要打開瀏覽器,才能查看生成的直方圖
hist.render_to_file('die_visual.svg')

同時投擲兩個骰子
from random import randint
#創(chuàng)建一個骰子的類
class Die():
def __init__(self,num_sides = 6):
self.num_sides = num_sides
def roll(self):
#返回一個位于1和骰子面數(shù)之間的隨機值
return randint(1, self.num_sides)
#擲骰子
die1 = Die()
die2 = Die()
#創(chuàng)建一個列表,將結果存儲在一個列表中
results = []
#投100次
for roll_num in range(100):
result = die1.roll() + die2.roll()
results.append(result)
print(results)
#分析結果,計算每個點數(shù)出現(xiàn)的次數(shù)
frequencies = []
max_result = die1.num_sides + die2.num_sides
for value in range(1, max_result+1):
frequency = results.count(value)
frequencies.append(frequency)
print(frequencies)
#繪制直方圖
import pygal
hist = pygal.Bar()
hist.title = 'results of rolling one d6 dice 100 times'
hist.x_lables = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
hist.x_title = 'result'
hist.y_title = 'frequency of result'
hist.add('d6 + d6', frequencies)
#將圖渲染為SVG文件,需要打開瀏覽器,才能查看生成的直方圖
hist.render_to_file('die_visual.svg')
[4, 7, 4, 5, 8, 4, 3, 6, 8, 9, 8, 11, 9, 11, 8, 8, 5, 6, 10, 5, 11, 7, 4, 3, 12, 12, 7, 2, 4, 9, 9, 5, 7, 10, 4, 7, 4, 6, 5, 6, 7, 2, 7, 9, 7, 6, 11, 5, 9, 6, 11, 4, 8, 10, 7, 9, 5, 4, 3, 7, 4, 10, 5, 7, 2, 6, 4, 2, 2, 5, 5, 9, 6, 3, 6, 10, 12, 7, 4, 11, 8, 6, 10, 5, 7, 5, 5, 7, 9, 4, 11, 6, 7, 8, 6, 11, 6, 4, 3, 12]
[0, 5, 5, 14, 13, 13, 15, 8, 9, 6, 8, 4]

同時投擲兩個面數(shù)不同骰子
from random import randint
#創(chuàng)建一個骰子的類
class Die():
def __init__(self,num_sides = 6):
self.num_sides = num_sides
def roll(self):
#返回一個位于1和骰子面數(shù)之間的隨機值
return randint(1, self.num_sides)
#擲骰子
die1 = Die()
die2 = Die(10)
#創(chuàng)建一個列表,將結果存儲在一個列表中
results = []
#投100次
for roll_num in range(100):
result = die1.roll() + die2.roll()
results.append(result)
print(results)
#分析結果,計算每個點數(shù)出現(xiàn)的次數(shù)
frequencies = []
max_result = die1.num_sides + die2.num_sides
for value in range(1, max_result+1):
frequency = results.count(value)
frequencies.append(frequency)
print(frequencies)
#繪制直方圖
import pygal
hist = pygal.Bar()
hist.title = 'results of rolling one d10 dice 100 times'
hist.x_lables = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14','15','16']
hist.x_title = 'result'
hist.y_title = 'frequency of result'
hist.add('d6 + d10', frequencies)
#將圖渲染為SVG文件,需要打開瀏覽器,才能查看生成的直方圖
hist.render_to_file('die_visual.svg')
[5, 3, 6, 13, 8, 9, 10, 11, 11, 4, 5, 14, 11, 10, 11, 8, 14, 12, 16, 8, 9, 11, 7, 11, 9, 2, 8, 9, 9, 10, 7, 8, 12, 11, 8, 12, 9, 9, 10, 11, 8, 14, 10, 12, 10, 7, 12, 5, 4, 8, 6, 7, 7, 11, 9, 16, 6, 13, 6, 10, 6, 7, 16, 9, 14, 5, 7, 12, 8, 9, 11, 11, 6, 11, 5, 8, 11, 16, 4, 10, 5, 10, 13, 4, 9, 9, 11, 9, 11, 13, 7, 13, 13, 5, 5, 4, 5, 3, 12, 14]
[0, 1, 2, 5, 9, 6, 8, 10, 13, 9, 15, 7, 6, 5, 0, 4]

以上就是python數(shù)據(jù)可視化pygal模擬擲骰子實現(xiàn)示例的詳細內(nèi)容,更多關于python pygal模擬擲骰子的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:
- Python mplfinance庫繪制金融圖表實現(xiàn)數(shù)據(jù)可視化實例探究
- Python報表自動化之從數(shù)據(jù)到可視化一站式指南
- Python對中國500強排行榜數(shù)據(jù)進行可視化分析實戰(zhàn)
- Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例
- python數(shù)據(jù)可視化繪制火山圖示例
- python數(shù)據(jù)可視化繪制世界人口地圖
- python數(shù)據(jù)可視化matplotlib繪制折線圖示例
- python?AutoViz庫一行代碼實現(xiàn)可視化數(shù)據(jù)集
相關文章
如何在Django中添加沒有微秒的 DateTimeField 屬性詳解
這篇文章主要給大家介紹了關于如何在Django中添加沒有微秒的 DateTimeField 屬性的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01
Python中關鍵字nonlocal和global的聲明與解析
這篇文章主要給大家介紹了關于Python中關鍵字nonlocal和global的聲明與解析的相關資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
使用python+pandas讀寫xlsx格式中的數(shù)據(jù)
這篇文章主要介紹了使用python+pandas讀寫xlsx格式中的數(shù)據(jù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-08-08
pycharm創(chuàng)建一個python包方法圖解
在本篇文章中小編給大家分享了關于pycharm怎么創(chuàng)建一個python包的相關知識點,需要的朋友們學習下。2019-04-04
pytorch方法測試——激活函數(shù)(ReLU)詳解
今天小編就為大家分享一篇pytorch方法測試——激活函數(shù)(ReLU)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
關于Pytorch MaxUnpool2d中size操作方式
今天小編就為大家分享一篇關于Pytorch MaxUnpool2d中size操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

