python數據分析——seaborn繪圖2

參考資料:活用pandas庫

# 導入庫
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
tips=pd.read_csv(r"...\seaborn常用數據案例\tips.csv")
print(tips.head())

1、成對關系表示

? ? ? ? 當數據大部分是數據時,可以使用pairplot函數把所有成對關系描繪出來,該函數會為每對變量繪制散點圖,并且為單變量數據繪制直方圖。

fig=sns.pairplot(tips)

? ? ? ? pairplot的一個缺點就是存在冗余信息,即圖的上半部分和下半部分相同。可以使用pairgrid手動指定圖的上半部分和下半部分。如下:

pair_grid=sns.PairGrid(tips)
# 可以使用plt.scatter代替sns.regplot
pair_grid=pair_grid.map_upper(sns.regplot)
pair_grid=pair_grid.map_lower(sns.kdeplot)
pair_grid=pair_grid.map_diag(sns.histplot,kde=True)

2、多變量數據的可視化

(1)顏色

? ? ? ? 使用violinplot函數是,可以通過hue參數按性別(sex)給圖著色。可以為“小提琴”的左右兩半著不同顏色,用于區分性別,以此減少冗余信息。

fig,ax=plt.subplots()
ax=sns.violinplot(x='time',y='total_bill',hue='sex',data=tips,split=True)

? ? ? ? 其他繪圖函數也存在hue參數,如lmplot函數,pairplot函數。

sns.lmplot(x='total_bill',y='tip',data=tips,hue='sex',fit_reg=False)

sns.pairplot(tips,hue='sex')

(2)大小和形狀

? ? ? ? 我們還可以通過點的大小表示更多的信息,但應該謹慎使用該方法,因為人眼不太擅長區分點的大小。

sns.lmplot(x='total_bill',y='tip',data=tips,fit_reg=False,scatter_kws={'s':tips['size']*10})

? ? ? ? 另外,在處理多個變量時,有時綜合運用不同元素顯示信息會非常有用。下例中,運用了顏色和形狀區分變量sex的值。

sns.lmplot(x='total_bill',y='tip',data=tips,fit_reg=False,hue='sex',markers=['o','x'])

(3)分面

? ? ? ? 如果想顯示更多變量,或者確定了要實現的可視化圖,但向基于一個分類變量畫出多幅圖,可以使用分面(facet)來滿足這些需求。要使用分面,數據必須是“整潔數據”:數據中的每一行都表示一個觀測值,每一列是一個變量(也是“長數據”)。

? ? ? ? 如下圖所示在lmplot創建這個可視化,需要將另外兩個參數col和col_wrap傳遞到seaborn中的散點圖中。col參數用于指定分面變量,col_wrap參數用于指定圖的每行包含的具體列數。如果不適用col_wrap參數,所有圖將會在同一行中。

# 導入數據
anscombe=pd.read_csv(r"...\seaborn常用數據案例\anscombe.csv")
# 查看數據
anscombe.sample(10)
# 可視化分面
sns.lmplot(x='x',y='y',data=anscombe,fit_reg=False,col='dataset',col_wrap=2)

? ? ? ? 我們知道lmplot是圖級(figure-level)函數,而在seaborn中,許多圖使用軸域級(axes-level)函數創建的。這意味著并不是每個繪圖函數都有分面參數col和col_wrap。為此必須先創建FacetGrid,它知道要在哪個變量上進行分面,然后為每個分面提供單獨的繪圖代碼。如下:

# 創建FacetGrid
facet=sns.FacetGrid(tips,col='time')
# 針對每個用餐時段,繪制總消費額的直方圖
facet.map(sns.histplot,'total_bill',kde=True)

? ? ? ? 各個分面不限于單變量圖,如下:

facet=sns.FacetGrid(tips,col='day',col_wrap=2,hue='sex')
facet=facet.map(plt.scatter,'total_bill','tip')
facet.add_legend()

? ? ? ? 對于分面,還可以讓一個變量在x軸上分面,另一個變量在y軸上分面,可以通過傳遞row參數來實現,如下:

facet=sns.FacetGrid(tips,col='time',row='smoker',hue='sex')
facet.map(plt.scatter,'total_bill','tip')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12458.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12458.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12458.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分享一個基于Qt的Ymodem的上位機(GitHub開源)

文章目錄 1.項目地址2.Ymodem 協議介紹3.文件傳輸過程4.使用5.SecureCRT 軟件也支持Ymodem6.基于PyQt5的Ymodem界面實現案例 1.項目地址 https://github.com/XinLiGH/SerialPortYmodem 基于VS2019 Qt5.15.2 編譯,Linux下編譯也可以,這里不做說明。 2.…

Python | Leetcode Python題解之第89題格雷編碼

題目&#xff1a; 題解&#xff1a; class Solution:def grayCode(self, n: int) -> List[int]:ans [0] * (1 << n)for i in range(1 << n):ans[i] (i >> 1) ^ ireturn ans

如何在云電腦實現虛擬應用—數據分層(應用分層)技術簡介

如何在云電腦實現虛擬應用—數據分層&#xff08;應用分層&#xff09;技術簡介 近幾年虛擬化市場實現了非常大的發展&#xff0c;桌面虛擬化在企業中應用越來越廣泛&#xff0c;其擁有的如下優點得到大量企業的青睞&#xff1a; 數據安全不落地。在虛擬化環境下面數據保存在…

STL庫簡介

一、STL庫的概念 STL&#xff1a;是C標準庫的重要追組成部分&#xff0c;不僅是一個可以復用的組件庫&#xff0c;而且還是一個包含了數據結構和算法的軟件框架。 二、STL的版本 原始版本 Alexander Stepanov、 Meng Lee 在惠普實驗室完成的原始版本&#xff0c; 是一個開源…

JVM 雙親委派機制詳解

文章目錄 1. 雙親委派機制2. 證明3. 優勢與劣勢 1. 雙親委派機制 類加載器用來把類加載到 Java 虛擬機中。從JDK1.2版本開始&#xff0c;類的加載過程采用雙親委派機制&#xff0c;這種機制能更好地保證 Java 平臺的安全。 1.定義 如果一個類加載器在接到加載類的請求時&…

react組件渲染性能優化之函數組件-useCallback使用

useCallback主要就是對函數進行緩存,useCallBack這個Hooks主要是解決React.memo不能緩存事件的問題 useCallBack(fn, dependencies) &#xff1a;fn想要緩存的函數&#xff0c;dependencies有關是否更新 fn 的所有響應式值的一個列表 比如&#xff1a;UseCallBackOptimize組件…

(done) NLP+HMM 協作,還有維特比算法

參考視頻&#xff1a;https://www.bilibili.com/video/BV1aP4y147gA/?p2&spm_id_frompageDriver&vd_source7a1a0bc74158c6993c7355c5490fc600 &#xff08;這實際上是 “序列標注任務”&#xff09; HMM 的訓練和預測如下圖 訓練過程&#xff1a;我們首先先給出一個語…

做一個桌面懸浮翻頁時鐘

毛玻璃效果翻頁桌面懸浮時鐘&#xff0c;TopMost&#xff08;Topmost“True”&#xff09;&#xff0c;不在任務欄顯示&#xff08;ShowInTaskbar“False”&#xff09;&#xff0c;在托盤區顯示圖標&#xff0c;雙擊托盤區圖標實現最小化和還原&#xff0c;右鍵托盤圖標可選“…

常見網絡攻擊及解決方案

網絡安全是開發中常常會遇到的情況&#xff0c;為什么會遇到網絡攻擊&#xff0c;網絡攻擊是如何進行的&#xff0c;如何抵御網絡攻擊&#xff0c;都是我們需要思考的問題。 為什么會遇到網絡攻擊&#xff1f; 以下是一些主要的因素&#xff1a; 技術漏洞&#xff1a;軟件或操…

web學習記錄--(5.14)

1.Sublime安裝與漢化 直接點擊windows即可下載&#xff0c;安裝即可 Thank You - Sublime Text 漢化 Install Package ChineseLocalzation 2.PHPstorm下載以及激活,漢化 直接下載&#xff0c;然后找激活碼激活即可 漢化 plugins&#xff08;插件&#xff09;/chinese&…

SpringBoot接收參數的19種方式

https://juejin.cn/post/7343243744479625267?share_token6D3AD82C-0404-47A7-949C-CA71F9BC9583

未授權訪問:ZooKeeper 未授權訪問漏洞

目錄 1、漏洞原理 2、環境搭建 3、未授權訪問 防御手段 今天繼續學習各種未授權訪問的知識和相關的實操實驗&#xff0c;一共有好多篇&#xff0c;內容主要是參考先知社區的一位大佬的關于未授權訪問的好文章&#xff0c;還有其他大佬總結好的文章&#xff1a; 這里附上大…

在Ubuntu中如何解壓zip壓縮包??

2024年5月15日&#xff0c;周三上午 使用 unzip 命令 unzip 文件名.zip這會將壓縮包中的內容解壓到當前目錄。如果想解壓到特定目錄&#xff0c;可以使用 -d 選項&#xff0c;例如&#xff1a; unzip 文件名.zip -d 目標目錄使用 7-zip 還可以安裝 7-zip 工具來解壓 ZIP 文件。…

【Python探索之旅】冒泡排序(三種方法)

前言 算法步驟&#xff1a; 代碼實現 方法一、嵌套循環 方法二 while循環 方法三、使用生成器表達式 解釋&#xff1a; 時間復雜度&#xff1a; 完結撒花 前言 冒泡排序是一種簡單的排序算法&#xff0c;它也是一種穩定排序算法。其實現原理是重復掃描待排序序列&#xf…

2025年第十一屆北京國際印刷技術展覽會

2025年第十一屆北京國際印刷技術展覽會 展覽時間&#xff1a;2025年5月15-19日 展覽地點&#xff1a;北京中國國際展覽中心&#xff08;順義館&#xff09; 主辦單位&#xff1a;中國印刷及設備器材工業協會中國國際展覽中心集團有限公司 承辦單位&#xff1a;北京中印協華港國…

海思Hi3065H 200MHz 高性能 RISCV32 A2 MCU

這是一款海思自研的RISCV32內核的高性能實時控制專用MCU&#xff0c; 具有高性能、高集成度、高可靠性、易開發的特點&#xff0c;同時還有嵌入式AI能力。 CPU ? RISC-V200MHzFPU 存儲 ? Up to 152KB Code Flash ? 8KB Data Flash ? 16KB SRAM 個人認為這是MCU梯隊非常…

[Linux][網絡][高級IO][IO多路轉接][select][poll]詳細講解

目錄 1.IO多路轉接之select1.初識select2.select()3.關于fd_set結構4.關于timeval結構5.理解select執行過程6.select就緒條件7.select特點8.select優點(任何一個多路轉接方案&#xff0c;都具備)9.select缺點10.select的一般編寫代碼的模式11.思考 && 問題 2.IO多路轉接…

【PB案例學習筆記】-02 目錄瀏覽器

寫在前面 這是PB案例學習筆記系列文章的第二篇&#xff0c;該系列文章適合具有一定PB基礎的讀者&#xff0c; 通過一個個由淺入深的編程實戰案例學習&#xff0c;提高編程技巧&#xff0c;以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼&#xff0c;小凡都上…

基于Django實現的(bert)深度學習文本相似度檢測系統設計

基于Django實現的&#xff08;bert&#xff09;深度學習文本相似度檢測系統設計 開發語言:Python 數據庫&#xff1a;MySQL所用到的知識&#xff1a;Django框架工具&#xff1a;pycharm、Navicat、Maven 系統功能實現 登錄頁面 注冊頁面&#xff1a;用戶賬號&#xff0c;密碼…

05-14 周二 PyTorch動態量化和靜態量化理解

05-14 周二 PyTorch動態量化和靜態量化理解 時間版本修改人描述2024年5月14日10:44:30V0.1宋全恒新建文檔2024年5月14日16:28:16V1.0宋全恒填充了PyTorch對于兩種量化方式的內容 簡介 Pytorch動態量化 設計神經網絡時&#xff0c;可以進行許多權衡。在模型開發和訓練期間&…