Python 使用matplotlib模塊模擬擲骰子
擲骰子
骰子類
# die.py 骰子類模塊 from random import randint class Die(): """骰子類""" def __init__(self, num_sides=6): """默認(rèn)六面的骰子""" 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)] # 分析結(jié)果 frequencies = [results.count(x) for x in range(1, die.num_sides+1)] # 可視化結(jié)果 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') # 設(shè)置圖表 plt.title('Roll a die using matplotlib', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Frequency', fontsize=14) # 顯示數(shù)據(jù) for x, y in zip(values, frequencies): # 將y數(shù)據(jù)加載到(x,y)位置 plt.text(x, y, y, fontsize=12, color='red', ha='center', va='bottom') # 顯示結(jié)果 plt.show()
散點(diǎn)圖擲骰子
# 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)] # 分析結(jié)果 frequencies = [results.count(x) for x in range(1, die.num_sides+1)] # 可視化結(jié)果 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) # 設(shè)置圖表 plt.title('Roll a die using matplotlib', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Frequency', fontsize=14) # 顯示數(shù)據(jù) for x, y in zip(values, frequencies): # 將y數(shù)據(jù)加載到(x,y)位置 plt.text(x, y, y, fontsize=12, color='red', ha='center', va='bottom') # 顯示結(jié)果 plt.show()
總結(jié)
以上所述是小編給大家介紹的Python 使用matplotlib模塊模擬擲骰子,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Python Pygame實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)的實(shí)現(xiàn)
飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,這篇文章主要給大家介紹了關(guān)于如何利用python中的Pygame模塊寫一個(gè)簡(jiǎn)單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下2022-03-03Python中實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法
這篇文章主要介紹了Python中實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法,本文講解使用dict和lambda結(jié)合實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用,給出了不帶參數(shù)和帶參數(shù)的實(shí)例,需要的朋友可以參考下2015-03-03Tensorflow使用tfrecord輸入數(shù)據(jù)格式
這篇文章主要介紹了Tensorflow使用tfrecord輸入數(shù)據(jù)格式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問(wèn)權(quán)限
這篇文章主要給大家介紹了關(guān)于利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問(wèn)權(quán)限的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧2018-07-07Python腳本實(shí)現(xiàn)集群檢測(cè)和管理功能
這篇文章主要介紹了Python腳本實(shí)現(xiàn)集群檢測(cè)和管理功能,本文講解了實(shí)現(xiàn)想法、開(kāi)發(fā)工具選擇、經(jīng)驗(yàn)分享、代碼示例等內(nèi)容,需要的朋友可以參考下2015-03-03Python aiohttp百萬(wàn)并發(fā)極限測(cè)試實(shí)例分析
這篇文章主要介紹了Python aiohttp百萬(wàn)并發(fā)極限測(cè)試,結(jié)合實(shí)例形式分析了Python異步編程基于aiohttp客戶端高并發(fā)請(qǐng)求的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-10-10python實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲
這篇文章主要介紹了python實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲,涉及Python操作隨機(jī)數(shù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04Matplotlib繪圖基礎(chǔ)之坐標(biāo)軸詳解
Matplotlib的坐標(biāo)軸是用于在繪圖中表示數(shù)據(jù)的位置的工具,也是為了幫助觀察者了解圖像中數(shù)據(jù)的位置和大小,下面小編就來(lái)和大家詳細(xì)聊聊Matplotlib繪圖時(shí)坐標(biāo)軸的具體使用吧2023-07-07