鋒哥原創的Matplotlib3 Python數據可視化視頻教程:
2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili
課程介紹
本課程講解利用python進行數據可視化 科研繪圖-Matplotlib,學習Matplotlib圖形參數基本設置,繪圖參數及主要函數,以及Matplotlib基礎繪圖,和Matplotlib高級繪圖。
繪制直方圖(Histogram)
直方圖用于可視化數值數據的分布,通過將數據劃分為連續區間(bin)并統計各區間內的數據頻數來展示數據特征。
核心函數:plt.hist()
plt.hist(x, ? ? ? ? ?# 輸入數據(數組或列表)bins=None, ?# 區間數量/邊界range=None, # 數據范圍density=False, # 是否歸一化為密度color=None, # 顏色alpha=0.75, # 透明度edgecolor='black' # 邊緣顏色
)
關鍵參數詳解
參數 | 說明 | 示例值 |
---|---|---|
bins | 區間劃分方式 | 10 , [0,10,20,40] , 'auto' |
density | 歸一化為概率密度 | True /False |
range | 數據截取范圍 | (0, 100) |
histtype | 直方圖樣式 | 'bar' , 'step' , 'stepfilled' |
log | 對數坐標 | True |
cumulative | 累積直方圖 | True |
stacked | 多組數據堆疊 | True |
下面我們看幾個直方圖示例:
基礎直方圖:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
?
# 設置matplotlib使用黑體顯示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
?
# 生成正態分布數據
data = np.random.normal(0, 1, 1000)
?
plt.hist(data, bins=30, color='skyblue', edgecolor='black')
plt.title("基本直方圖")
plt.xlabel("值")
plt.ylabel("頻率")
plt.grid(axis='y', alpha=0.5)
plt.show()
多組數據對比直方圖
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
?
# 設置matplotlib使用黑體顯示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
?
data1 = np.random.normal(-1, 1, 1000)
data2 = np.random.normal(3, 1.5, 1000)
?
plt.hist([data1, data2], bins=30, stacked=False,color=['blue', 'orange'], label=['分組1', '分組2'])
plt.legend()
plt.title("多個數據集")
plt.show()