散點圖是用於研究兩個變量之間關係的經典的和基本的圖表。如果數據中有多個組,則可能需要以不同顏色可視化每個組。
今天我們畫普通散點圖、邊際分布線性回歸散點圖、散點圖矩陣、帶線性回歸最佳擬合線的散點圖
本文示例多是來自官方文檔,這裡我只是做一下整理,讓大家知道散點圖的不同玩法,不要再繪製老掉牙的普通玩家版散點圖了。
普通玩家繪製的散點圖
在 matplotlib 中,可以使用 plt.scatterplot() 方便地執行此操作。
import numpy as np
import matplotlib.pyplot as plt
# Fixing random state for reproducibility
np.random.seed(19680801)
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
matplotlib散點圖升級版
散點的大小、形狀、顏色和透明度都是可以修改的,來看一個升級版。
import matplotlib.pyplot as plt
import numpy as np
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 每個點隨機大小
s = (30*np.random.rand(N))**2
# 隨機顏色
c = np.random.rand(N)
plt.scatter(x, y, s=s, c=c, alpha=0.5)
plt.show()
Seaborn散點圖 + 分布圖#創建數據
rs = np.random.RandomState(2)
df = pd.DataFrame(rs.randn(200,2), columns = ['A','B'])
sns.jointplot(x=df['A'], y=df['B'], #設置xy軸,顯示columns名稱
data = df, #設置數據
color = 'b', #設置顏色
s = 50, edgecolor = 'w', linewidth = 1,#設置散點大小、邊緣顏色及寬度(只針對scatter)
stat_func=sci.pearsonr,
kind = 'scatter',#設置類型:'scatter','reg','resid','kde','hex'
#stat_func=,
space = 0.1, #設置散點圖和布局圖的間距
size = 8, #圖表大小(自動調整為正方形))
ratio = 5, #散點圖與布局圖高度比,整型
marginal_kws = dict(bins=15, rug =True), #設置柱狀圖箱數,是否設置rug
)
帶線性回歸最佳擬合線的散點圖
如果你想了解兩個變量如何相互改變,那麼最佳擬合線就是常用的方法。下圖顯示了數據中各組之間最佳擬合線的差異。要禁用分組並僅為整個數據集繪製一條最佳擬合線,請從下面的 sns.lmplot()調用中刪除 hue ='cyl'參數。
import seaborn as sns
sns.set()
tips = sns.load_dataset("tips")
g = sns.jointplot("total_bill", "tip", data=tips,
kind="reg", truncate=False,
xlim=(0, 60), ylim=(0, 12),
color="m", height=7)
矩陣散點圖
矩陣散點圖 - pairplot()
#設置風格
sns.set_style('white')
#讀取數據
iris = sns.load_dataset('iris')
print(iris.head())
sns.pairplot(iris,
kind = 'scatter', #散點圖/回歸分布圖{'scatter', 'reg'})
diag_kind = 'hist', #直方圖/密度圖{'hist', 'kde'}
hue = 'species', #按照某一欄位進行分類
palette = 'husl', #設置調色板
markers = ['o', 's', 'D'], #設置不同系列的點樣式(這裡根據參考分類個數)
size = 2 #圖標大小
)
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.