優雅的藝術之Python資料視覺化

2021-09-23 07:02:26 字數 2009 閱讀 7448

最近看《機器學習系統設計》…前兩章。學到了一些用matplotlib進行資料視覺化的方法。在這裡整理一下。

最開始,當然還是要匯入我們需要的包:

1. 畫散點圖

畫散點圖用plt.scatter(x,y)。畫連續曲線在下乙個例子中可以看到,用到了plt.plot(x,y)。

plt.xticks(loc,label)可以自定義x軸刻度的顯示,第乙個引數表示的是第二個引數label顯示的位置loc。

plt.autoscale(tight=true)可以自動調整影象顯示的最佳化比例 。

畫出散點圖如下:

2. 多項式擬合併畫出擬合曲線

## 多項式擬合

效果圖:

3. 畫多個子圖

這裡用到的是sklearn的iris_dataset(鳶尾花資料集)。

此資料集包含四列,分別是鳶尾花的四個特徵:

這裡首先對資料進行一定的處理,主要就是對特徵名稱進行兩兩排列組合,然後任兩個特徵乙個乙個做x軸另乙個做y軸進行畫圖。

這裡有乙個排列組合參考**,最後是取出了兩兩組合的情況。

排列組合的結果是feature_names_2包含了排列組合的所有情況,它的每乙個元素包含了乙個排列組合的所有情況,比如第乙個元素包含了所有單個元素排列組合的情況,第二個元素包含了所有的兩兩組合的情況……所以這裡取出了第二個元素,也就是所有的兩兩組合的情況

下面是在for迴圈裡畫多個子圖的方法。對我來說,這裡需要學習的有不少。比如

for i,k in enumerate(feature_names_2[1]):這一句老是記不住。

比如從列表中取出某元素所在的索引的方法:index1 = feature_names.index(k[0]),也即index = list.index(element)的形式。

比如for迴圈中畫子圖的方法:plt.subplot(2,3,1+i)

比如for迴圈的下面這用法:for t,marker,c in zip(range(3),」>ox」,」rgb」):

這裡的視覺化效果如下:

4. 畫水平線和垂直線

比如在上面最後一幅圖中,找到了一種方法可以把三種鳶尾花分出來,這是我們需要畫出模型(一條直線)。這個時候怎麼畫呢?

下面需要注意的就是plt.vlines(x,y_min,y_max)和plt.hlines(y,x_min,x_max)的用法。

此時視覺化效果如下:

5. 動態畫圖

plt.ion()開啟互動模式。plt.show()不再阻塞程式執行。

注意plt.axis()的用法。

視覺化效果:

Python資料分析之pandas資料視覺化

python資料視覺化常用的是matplotlib庫,matplotlib是底層庫,今天學了pandas的資料視覺化,相對於matplotlib庫來說,簡單許多。我們也可以加入grid引數新增格網 pandas繪圖其實是對matplotlib庫繼承,而matplotlib庫預設為ascii編碼,所以...

優雅的使用Python之軟體管理

方法一 lpython get pip.py d python33 python get pip.py downloading unpacking pip downloading unpacking setuptools installing collected packages pip,setup...

優雅的使用python

優雅的使用python,讓自己的code更pythonic test list 龍母 雪諾 提里昂 山姆 count 0 for name in test list print s的序號是 d name,count count 1龍母的序號是 0 雪諾的序號是 1 提里昂的序號是 2 山姆的序號是 ...