python庫(kù)patchworklib多圖表整合用法示例探究
python patchworklib庫(kù)
今天給大家分享一個(gè)超強(qiáng)的 python 庫(kù),patchworklib
https://github.com/ponnhide/patchworklib
patchworklib 是一個(gè)開(kāi)源的 python 庫(kù),可以將多個(gè)圖表的整合為單一圖表。這個(gè)庫(kù)受到了 ggplot2 拼接功能的啟發(fā),使得用戶可以便捷地通過(guò)使用 “/” 和 “|” 符號(hào)來(lái)對(duì)齊 matplotlib 圖表。
另外,雖然一些基于 matplotlib 的第三方庫(kù)(如 plotnine 和 seaborn)能夠用簡(jiǎn)潔的 Python 代碼生成精美的圖形,但它們中的許多圖形并不支持作為 matplotlib 的子圖來(lái)處理,通常需要手動(dòng)調(diào)整其位置,而 patchworklib 庫(kù)完美解決了這個(gè)問(wèn)題。通過(guò)應(yīng)用 patchworklib,各種 seaborn 或 plotnine 圖表都能作為 matplotlib 的子圖進(jìn)行有效處理。
庫(kù)的安裝
可以直接通過(guò) pip 進(jìn)行安裝。
pip install patchworklib
簡(jiǎn)單用法
使用 patchworklib ,你可以通過(guò) | 和 / 運(yùn)算符來(lái)快速、自由地排列的 matplotlib 繪圖,如下所示。
import patchworklib as pw import seaborn as sns #加載數(shù)據(jù)集 fmri = sns.load_dataset("fmri") ax1 = pw.Brick(figsize=(3,2)) sns.lineplot(x="timepoint", y="signal", hue="region", style="event", data=fmri, ax=ax1) ax1.legend(bbox_to_anchor=(1.05, 1.0), loc='upper left') ax1.set_title("ax1") #加載數(shù)據(jù)集 titanic = sns.load_dataset("titanic") ax2 = pw.Brick(figsize=(1,2)) sns.barplot(x="sex", y="survived", hue="class", data=titanic, ax=ax2) ax2.move_legend(new_loc='upper left', bbox_to_anchor=(1.05, 1.0)) ax2.set_title("ax2") #使用 | 運(yùn)算符排列子圖 ax12 = ax1|ax2 ax12.savefig()
# 加載數(shù)據(jù)集 diamonds = sns.load_dataset("diamonds") ax3 = pw.Brick(figsize=(6,2)) sns.histplot(diamonds, x="price", hue="cut", multiple="stack", palette="light:m_r", edgecolor=".3", linewidth=.5, log_scale=True, ax = ax3) ax3.move_legend(new_loc='upper left', bbox_to_anchor=(1.0, 1.0)) ax3.set_title("ax3") #使用 / 和 | 運(yùn)算符排列子圖 (ax3/(ax1|ax2)).savefig()
以上就是python庫(kù)patchworklib多圖表整合用法示例探究的詳細(xì)內(nèi)容,更多關(guān)于python patchworklib圖表整合的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pandas DataFrame 數(shù)據(jù)選取,修改,切片的實(shí)現(xiàn)
這篇文章主要介紹了pandas DataFrame 數(shù)據(jù)選取,修改,切片的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python3.x 生成3維隨機(jī)數(shù)組實(shí)例
今天小編就為大家分享一篇python3.x 生成3維隨機(jī)數(shù)組實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Django網(wǎng)絡(luò)框架之創(chuàng)建虛擬開(kāi)發(fā)環(huán)境操作示例
這篇文章主要介紹了Django網(wǎng)絡(luò)框架之創(chuàng)建虛擬開(kāi)發(fā)環(huán)境操作,簡(jiǎn)單描述了虛擬開(kāi)發(fā)環(huán)境的概念、功能,并分析了使用venv與virtualenv安裝虛擬環(huán)境相關(guān)操作技巧,需要的朋友可以參考下2019-06-06詳解如何在cmd命令窗口中搭建簡(jiǎn)單的python開(kāi)發(fā)環(huán)境
這篇文章主要介紹了詳解如何在cmd命令窗口中搭建簡(jiǎn)單的python開(kāi)發(fā)環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08如何在Django中添加沒(méi)有微秒的 DateTimeField 屬性詳解
這篇文章主要給大家介紹了關(guān)于如何在Django中添加沒(méi)有微秒的 DateTimeField 屬性的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Python Django實(shí)現(xiàn)個(gè)人博客系統(tǒng)的搭建
個(gè)人博客是一個(gè)非常好的平臺(tái),可以讓人們分享自己的知識(shí)和經(jīng)驗(yàn),也可以讓人們交流和互動(dòng)。在這篇文章中,我們將介紹如何使用Python Django框架來(lái)開(kāi)發(fā)一個(gè)個(gè)人博客系統(tǒng),希望對(duì)大家有所幫助2023-04-04完美解決在oj中Python的循環(huán)輸入問(wèn)題
今天小編就為大家分享一篇完美解決在oj中Python的循環(huán)輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python的schedule定時(shí)任務(wù)模塊二次封裝方法
今天小編就為大家分享一篇python的schedule定時(shí)任務(wù)模塊二次封裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02