文、意如

技能類型 | 說明 |
---|---|
Numpy 隨機 | randint() 產生隨機整數 |
陣列運算 | dice1 + dice2 是兩個陣列相加 |
Matplotlib | 使用 hist() 畫出直方圖 |
視覺化細節 | 如 rwidth 、grid 、xticks 提升圖表美感與可讀性 |
import numpy as np # 匯入 numpy 套件,並簡寫為 np
import matplotlib.pyplot as plt # 匯入 matplotlib 的繪圖模組
# 為了讓每次執行結果都一樣,設定隨機種子
np.random.seed(42)
# 用 randint 產生 10000 個介於 1 到 6 的隨機整數,模擬骰子 1
dice1 = np.random.randint(1, 7, 10000)
# 模擬骰子 2,也丟 10000 次
dice2 = np.random.randint(1, 7, 10000)
# 計算兩顆骰子的總和(每次丟出的點數相加)
total = dice1 + dice2
# 建立一個 8x4 吋的圖表區塊
plt.figure(figsize=(8, 4))
# 畫出總和的直方圖(bins 指每個數字的區間)
# - bins=range(2,14):建立從 2 到 13 的數值區間
# - edgecolor:柱子邊框顏色
# - align='left':柱子對齊左邊
# - rwidth=0.8:柱子的寬度比例
# - color:柱子顏色
plt.hist(total,
bins=range(2, 14),
edgecolor='black',
align='left',
rwidth=0.8,
color='skyblue')
# 設定圖表標題
plt.title("丟 2 顆骰子總和的分布(模擬 10000 次)")
# 設定 X 軸標籤
plt.xlabel("總和")
# 設定 Y 軸標籤
plt.ylabel("出現次數")
# 加上水平虛線輔助格線,讓圖更容易閱讀
plt.grid(axis='y', linestyle='--', alpha=0.5)
# 設定 X 軸刻度為 2~12
plt.xticks(range(2, 13))
# 自動調整圖表的邊距與排版
plt.tight_layout()
# 顯示圖表
plt.show()
Yiru@Studio - 關於我 - 意如