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

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

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

繪圖步驟:

1、準備數據(核心) 2、創建圖形 3、自定義繪圖(核心) 4、保存圖形 5、顯示圖形

''' 知識點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 個子圖 ​

''' 知識點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:條形圖 '''

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

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

1、語法 ax.scatter(x, y, color='red', marker=".") ​ 2、參數分析 marker="." 是一個標記,ax.plot(x, y, color='', marker="o")

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

語法參數: ax.hist(x, range(1, 5), bins=20, color) x:必選參數 range(1, 5):可選/可不選參數,代表限定 x 軸的區域(X 軸從 1 開始到 5 結束) bins = 20: 可選/可不選參數,直方圖的寬度 ​ 作用:用於探索某類數據的集中分佈,發現某類數據的核心點在哪個值的範圍

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

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

''' 知識點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軸正方向畫起

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

(注意: 這裡只能用 plt 不能用 ax) 1、正常顯示中文字體 plt.rcParams['font.family'] = 'SimHei' ​ 2、字體大小 plt.rcParams['xtick.labelsize'] = 24 plt.rcParams['ytick.labelsize'] = 20 ​

''' 知識點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 軸刻度的標籤值

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

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

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

推薦往期文章如下:

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

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

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

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

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

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

封面圖片來源於網絡