數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

python數據科學,數據可視化是非常重要的一個環節,但是很多朋友在學習matplotlib可視化模塊時,總是學的不得意,感覺學來學去不怎麼會,所以小編將matplotlib模塊常用的繪圖知識總結整理在一起,便於讀者朋友記憶和掌握核心的繪圖知識。

Matplotlib總結分為兩次推送,今天推送上篇,下面直接上乾貨.....

繪圖步驟:

1、準備數據(核心)
2、創建圖形
3、自定義繪圖(核心)
4、保存圖形
5、顯示圖形
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點0:創建畫布、子圖 '''

1、創建畫布
fig = plt.figure(figsize=(10,4)) # 第一種
fig, ax = plt.subplots() # 第二種
​
2、增加子圖
ax1 = fig.add_subplot(row,col,num)

ax2 = fig.add_subplot(221) 等效於 add_subplot(2, 2, 1)
代表添加第 2 行第 2 列的第 1 個子圖
​
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點1:plt 與 ax 繪圖的異同 '''

1、相同:
繪圖函數的參數用法一樣,比如:plt.plot(x, y, color='r') 與 ax.plot(x, y, color='r')

其他描述性函數的參數用法一樣,比如:plt.legend(loc='best') 與 ax.legend(loc='best')
​
2、不同之處
ax 使用 ax 繪圖:
比如:ax.plot/bar/scatter/hist等()

比如:ax.legend/test/annotate/margins/axis/tick_params()

比如:ax.set_xlim/ylim/title/xlabel/ylabel/xticks/yticks/xticklabel/yticklabel
​
plt 使用 plt 繪圖:

比如:plt.plot/bar/scatter/hist等()

比如:plt.legend/test/annotate/margins/axis/tick_params()

比如:plt.xlim/ylim/title/xlabel/ylabel/xticks/yticks/xticklabel/yticklabel
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點2:條形圖 '''

1、語法
bar(x, height, width, color, align='center') 縱向
ax.barh() 橫向
​
2、參數分析
x: 條形圖在x軸位置, 某種情況下巧用"整型"索引值:df.index.tolist()

height: 條形圖高度

width: 條形圖的寬度

align: 向哪裡對齊,center中心對齊,edge邊緣對齊
 
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點3:散點圖 '''

1、語法
ax.scatter(x, y, color='red', marker=".")
​
2、參數分析
marker="." 是一個標記,ax.plot(x, y, color='', marker="o")
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點4:直方圖 '''

語法參數:
ax.hist(x, range(1, 5), bins=20, color)

x:必選參數

range(1, 5):可選/可不選參數,代表限定 x 軸的區域(X 軸從 1 開始到 5 結束)

bins = 20: 可選/可不選參數,直方圖的寬度
​
作用:用於探索某類數據的集中分佈,發現某類數據的核心點在哪個值的範圍
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點5:箱形圖 '''

# 一個畫布一個箱型圖
ax.boxplot(x)
# 一個畫布多個箱型圖
ax.boxplot([x1, x2, x3,...])
它由五個數值點組成:從下到上
0%最小值(min),25%下四分位數(Q1),50%中位數(median),
75%上四分位數(Q3),100%最大值(max)
​
作用:
1、直觀地識別數據集中的異常值(查看離群點),離群點單獨析出
2、判斷數據離散程度和偏向(觀察盒子的長度,上下隔間的形狀,以及鬍鬚的長度)
3、用於探索某類數據的集中分佈
 
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點6:餅圖 '''

1、語法:
ax.pie(x, explode=None, labels=None, colors=None, shadow=False, autopct=None,
 radius=None, startangle=None)
​
2、參數分析
 x: 一般是分類型、佔比型數據,數組形式如: x=[1, 2, 4] 或 [[1], [2], [4]]
 explode: 各個餅圖之間的距離,列表形式如: explode=[0.12, 0.1, 0.04]
 labels: 標籤, 列表形式如: labels=['pie1', 'pie2', 'pie3'],
 一般結合圖例 ax.legend(loc='best')
 colors: 顏色,數組形式(一維二維都行)
 shadow: 布爾值,設置餅圖邊緣下面呈現一層陰影, 就會顯得厚一點
 autopct: 控制餅圖內百分比設置,可以使用format字符串或者format function
 '%1.1f'指小數點前後位數(沒有用空格補齊)如:
 autopct='%.2f'(單純顯示值); autopct='%.2f%%'(顯示值和百分號)
 radius: 餅的半徑,即餅的大小,如:radius=1.2
 startangle: 起始繪製角度,默認圖是從x軸正方向逆時針畫起,
 如:startangle=90 則從y軸正方向畫起
 
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點7:設置中文字體、字體大小 '''

(注意: 這裡只能用 plt 不能用 ax)
1、正常顯示中文字體
plt.rcParams['font.family'] = 'SimHei'
​
2、字體大小
plt.rcParams['xtick.labelsize'] = 24
plt.rcParams['ytick.labelsize'] = 20
​
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

''' 知識點8:基本信息設置 '''

第一種方法:單一
tick_positions = range(1,6)
ax.set_xticks(tick_positions)
ax.set_xticklabels(cols, rotation=45) # rotation 代表旋轉的角度
ax.set_xlabel('Rating Source')
ax.set_ylabel('Average Rating')
ax.set_title('2015')
ax.set_xlim(0, 6)
ax.set_ylim(0, 6)
​
第二種方法:統一性
ax.set(title='2015', # 標題
 xlabel='Rating Source', # X 軸標籤 
 ylabel='Average Rating', # Y 軸標籤
 xticks=tick_positions, # X、Y 軸刻度
 xlim=[0, 6], ylim=[0, 6], # X、Y 軸範圍限制
 )
ax.set_xticklabels(['要設置的標籤值', ''], rotation=45) X 軸刻度的標籤值
數據分析必備知識(2),Matplotlib繪圖必備知識大總結(上篇)

End-----------

歡迎讀者朋友留言評論、轉發.......

喜歡的讀者朋友可以點贊和關注小編,更多精彩內容等著你.........

推薦往期文章如下:

數據分析必備知識(1),Numpy基礎篇

python必備知識(1),打包為exe文件封裝成可導入模塊

數據挖掘項目實訓:竊漏電用戶自動識別

python爬蟲基礎入門教程,人性化的python requests最全總結

python數據分析庫之pandas知識大總結

python面向對象大總結,讓你快速掌握面向對象常用的用法

封面圖片來源於網絡


分享到:


相關文章: