python數(shù)據(jù)可視化pygal模擬擲骰子實(shí)現(xiàn)示例
可視化包Pygal生成可縮放矢量圖形文件
可以在尺寸不同的屏幕上自動(dòng)縮放,顯示圖表
#安裝pygal pip install pygal ''' 想要了解Pygal可生成什么樣的圖表,可訪問http://www.pygal.org/ 單擊document,點(diǎn)擊chart types,每個(gè)示例都包含源代碼 ''' from random import randint #創(chuàng)建一個(gè)骰子的類 class Die(): def __init__(self,num_sides = 6): self.num_sides = num_sides def roll(self): #返回一個(gè)位于1和骰子面數(shù)之間的隨機(jī)值 return randint(1, self.num_sides) #擲骰子 die = Die() #創(chuàng)建一個(gè)列表,將結(jié)果存儲(chǔ)在一個(gè)列表中 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]
分析結(jié)果,計(jì)算每個(gè)點(diǎn)數(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')
同時(shí)投擲兩個(gè)骰子
from random import randint #創(chuàng)建一個(gè)骰子的類 class Die(): def __init__(self,num_sides = 6): self.num_sides = num_sides def roll(self): #返回一個(gè)位于1和骰子面數(shù)之間的隨機(jī)值 return randint(1, self.num_sides) #擲骰子 die1 = Die() die2 = Die() #創(chuàng)建一個(gè)列表,將結(jié)果存儲(chǔ)在一個(gè)列表中 results = [] #投100次 for roll_num in range(100): result = die1.roll() + die2.roll() results.append(result) print(results) #分析結(jié)果,計(jì)算每個(gè)點(diǎn)數(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í)投擲兩個(gè)面數(shù)不同骰子
from random import randint #創(chuàng)建一個(gè)骰子的類 class Die(): def __init__(self,num_sides = 6): self.num_sides = num_sides def roll(self): #返回一個(gè)位于1和骰子面數(shù)之間的隨機(jī)值 return randint(1, self.num_sides) #擲骰子 die1 = Die() die2 = Die(10) #創(chuàng)建一個(gè)列表,將結(jié)果存儲(chǔ)在一個(gè)列表中 results = [] #投100次 for roll_num in range(100): result = die1.roll() + die2.roll() results.append(result) print(results) #分析結(jié)果,計(jì)算每個(gè)點(diǎn)數(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模擬擲骰子實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于python pygal模擬擲骰子的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python mplfinance庫繪制金融圖表實(shí)現(xiàn)數(shù)據(jù)可視化實(shí)例探究
- Python報(bào)表自動(dòng)化之從數(shù)據(jù)到可視化一站式指南
- Python對(duì)中國500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析實(shí)戰(zhàn)
- Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例
- python數(shù)據(jù)可視化繪制火山圖示例
- python數(shù)據(jù)可視化繪制世界人口地圖
- python數(shù)據(jù)可視化matplotlib繪制折線圖示例
- python?AutoViz庫一行代碼實(shí)現(xiàn)可視化數(shù)據(jù)集
相關(guān)文章
Python?操作pdf?pdfplumber讀取PDF寫入Excel
這篇文章主要介紹了Python?操作pdf?pdfplumber讀取PDF寫入Excel,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以考察一下2022-08-08Python優(yōu)化列表接口進(jìn)行分頁示例實(shí)現(xiàn)
最近,在做測試開發(fā)平臺(tái)的時(shí)候,需要對(duì)測試用例的列表進(jìn)行后端分頁,在實(shí)際去寫代碼和測試的過程中,發(fā)現(xiàn)這里面還是有些細(xì)節(jié)的,故想復(fù)盤一下2021-09-09python分布式庫celery處理大規(guī)模的任務(wù)并行化
Python中的分布式任務(wù)隊(duì)列時(shí),Celery是一個(gè)備受推崇的工具,它是一個(gè)功能強(qiáng)大的分布式系統(tǒng),可用于處理大規(guī)模的任務(wù)并行化,本文將介紹Celery的基本概念、用法和示例代碼,幫助讀者更好地了解和使用這個(gè)庫2024-01-01利用Python實(shí)現(xiàn)翻譯HTML中的文本字符串
這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)翻譯HTML中的文本字符串功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下2022-06-06Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí))
裝飾器(decorator)是一種高級(jí)Python語法。裝飾器可以對(duì)一個(gè)函數(shù)、方法或者類進(jìn)行加工。本文給大家介紹Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí)),對(duì)python裝飾器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01Python實(shí)現(xiàn)定時(shí)監(jiān)測網(wǎng)站運(yùn)行狀態(tài)的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)定時(shí)監(jiān)測網(wǎng)站狀態(tài)的示例代碼,幫助大家更好的管理自己的網(wǎng)站,感興趣的朋友可以了解下2020-09-09python獲取柵格點(diǎn)和面值的實(shí)現(xiàn)
這篇文章主要介紹了python獲取柵格點(diǎn)和面值的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有多幫助。一起跟隨小編過來看看吧2020-03-03