Python matplotlib繪制散點圖的實例代碼

前言

前面說到的主要是matplotlib對於圖像的基礎操作,然後從這篇開始,主要說一下點圖,分析點圖在實際問題的數據處理中應用非常廣泛,比如說邏輯回歸是利用現有的數據點通過擬合得到一定的函數關系,甚至生活中,物體運動的軌跡,也可以看做是連續的點繪制而成,還有圖像,也是很多個像素點堆砌而成的,在圖像處理中經常會針對單個像素點進行處理。

現在的深度學習或者機器學習,模型都是固定的,大多 不需要怎麼改動,而能提升訓練效果的,最重要的就是能更好的處理數據,而很多數據本身就是點集,利用matplotlib將點繪制成可視化的圖像,也方便人工智能工程師的分析理解,畢竟可視化的效果,總比看著枯燥的數據想象要來的更好。

在python中畫散點圖主要是用matplotlib模塊中的scatter函數,先來看一下scatter函數的基本信息。

可以看到scatter中有很多參數,經常使用的參數主要有以下幾個:

散點圖

以下是一個散點圖的簡單演示,利用numpy的random函數生成隨機數,然後將這些點畫出來。如圖安裝圖中API設置窗口的參數,這裡簡單說一下cmap=’jet_r’這個,jet_r是一個顏色映射算法,就是系統會根據圖像中的信息自動配置顏色,這裡也可以自己設置顏色,也可以用其他的顏色映射表示。

繪制散點圖相關API:

mp.scatter(
	xarray, yarray,  # 給出點的坐標
    marker='',		 # 點型
    s = 60,			 # 點的大小
    edgecolor='',	 # 邊緣色
    facecolor='',	 # 填充色
    zorder=3,		 # 繪制圖層編號 
    c=d,			 # 設置過渡性顏色
    cmap='jet'		 # 顏色映射
)

隨機生成符合 正態分佈 的隨機數:

n = 500
# 隨機生成n個數
# 172: 數學期望
# 20:  標準差
x = np.random.normal(172, 20, n)
import numpy as np
import matplotlib.pyplot as mp

n = 500
# 隨機生成500個樣本身高
x = np.random.normal(172, 10, n)
# 隨機生成500個樣本體重
y = np.random.normal(65, 10, n)

mp.figure('Persons', facecolor='lightgray')
mp.title('Person Points', fontsize=16)
mp.xlabel('Height', fontsize=12)
mp.ylabel('Weight', fontsize=12)
mp.tick_params(labelsize=10)
mp.grid(linestyle=':')

d = (x-172)**2 + (y-65)**2
mp.scatter(x, y, c=d, cmap='jet_r',
	alpha=0.6, label='Person', s=50)
mp.legend()
mp.show()

總結

到此這篇關於Python matplotlib繪制散點圖的文章就介紹到這瞭,更多相關Python matplotlib繪制散點圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: