前一天我們討論了資料前處理的各個步驟,今天我們來認識資料視覺化。
資料視覺化(Data Visualization)是指運用視覺的方式呈現數據,有效的圖表可以將繁雜的數據簡化成為易於吸收的內容。透過圖像化的方式,我們更容易辨識資料的規律、趨勢和關聯。
最早的資料視覺化可以追溯到17世紀,人們繪製地圖,而在18世紀初,人類發明了圓餅圖(Pie Chart)。而資料的視覺化也時刻出現在我們的生活之中,如新聞媒體、Google地圖、手機程式、股票趨勢等等。
在數據推動決策,資訊爆炸的時代,有效並快速吸收資訊是人們渴望的能力,不僅能節省時間,並且能加速學習效率。而根據研究指出,人類大腦吸收圖像的速度是文字的60,000倍、90%的資訊是透過視覺傳達到大腦的、人類能吸收80%的圖像,但只能吸收20%的文字等等,都顯示出人類對於視覺化有多麼的重要。
而現在有越來越多視覺化工具可以使用,EXCEL、POWER BI、Tableau都是知名而且好用的視覺化工具,在做資料分析常用到的R語言也有些內建套件能做出視覺化效果,而今天要介紹的是Python套件的視覺化工具。
身為使用Python的機器學習使用者來說,Python套件的視覺化工具其實已經很足夠使用,今天要帶大家來認識一些常用的語法與效果。
import matplotlib.pyplot as plt
plt.figure() #定義一個圖像視窗
plt.title('標題')
plt.xlabel('X軸名稱')
plt.ylabel('Y軸名稱')
plt.plot(x, y, color='red', linewidth=1.0, linestyle='--') #虛線
linewidth:曲線寬度
linestyle:曲線類型
plt.xlim((-1, 2)) #x座標範圍
plt.ylim((-2, 3)) #y座標範圍
plt.xlabel('I am x') #x座標軸名稱
plt.ylabel('I am y') #y座標軸名稱
plt.xticks([坐標刻度],[標籤])
plt.yticks([0,1,2,3,4],['$A$','$B$','C','D','E']) #設置x,y坐標軸刻度及標籤,$$是設置字體
ax = plt.gca() #獲取當前的坐標軸,gca = (get current axis)的縮寫
plot.kde() 創建一個核密度的繪圖,對於 Series和DataFrame資料結構都適用
label = 'target == 1':在圖表中顯示說明的圖例
range = (0, 100000) #X軸最大最小值定義
color = 'skyblue' #顏色設定
set_title('標題')
set_xlabel('X軸名稱')
set_ylabel('Y軸名稱')
arr: 需要計算直方圖的一維數組
bins: 直方圖的柱數,默認為10
density: : 是否將得到的直方圖向量歸一化。默認為0
color:顏色序列,默認為None
facecolor: 直方圖顏色;
edgecolor: 直方圖邊框顏色
alpha: 透明度
histtype: 直方圖類型,『bar』, 『barstacked』, 『step』, 『stepfilled』:
histtype='xxxx' 設定長條圖的格式: bar與stepfilled爲不同形式的長條圖, step以橫線標示數值.
'bar'是傳統的條形直方圖。如果給出多個數據,則條並排排列。
'barstacked'是一種條形直方圖,其中多個數據堆疊在一起。
'step'生成一個默認未填充的線圖。
'stepfilled'生成一個默認填充的線圖。
normed : boolean, optional, 意義就是說,返回的第一個n(後面解釋它的意義)吧,把它們正則化它,讓bins的值 的和為1,這樣差不多相當於概率分佈似的了;
cumulative : boolean, optional ,每一列都把之前的加起來。
bottom : array_like, scalar, or None,下面的每個bin的基線,表示bin的值都從這個基線上往上加;
orientation : {‘horizontal’, ‘vertical’}, optional:指的方向,分為水準與垂直兩個方向。 rwidth : scalar or None, optional ,控制你要畫的bar 的寬度;
今天先介紹到這,明天來介紹其他的matplotlib語法以及Seaborn用法。