數據可視化-----子圖的繪制及坐標軸的共享

目錄

繪制固定區域的子圖

(一)、繪制單子圖

subplot()函數

Jupyter Notebook的繪圖模式

(二)、多子圖

subplots()--可以在規劃好的所有區域中一次繪制多個子圖

(三)、跨行跨列

subplot2grid()---將整個畫布規劃成非等分布局的區域,并可在選中的某個區域中繪制單個子圖?


繪制固定區域的子圖

matplotlib可以將整個畫布規劃成等分布局的m*n(行*列)的矩陣區域,并按照先行后列的方式對每個區域進行編號(編號從1開始),之后在選中的某個或某些區域中繪制單個或多個子圖。

(一)、繪制單子圖

subplot()函數

subplot(nrows, ncols, index, projection, polar, sharex, sharey, label,?**kwargs)

nrows:表示規劃區域的行數。

ncols:表示規劃區域的列數。

index:表示選擇區域的索引,默認從1開始編號。

projection:表示子圖的投影類型。

polar:表示是否使用極坐標,默認值為False。

若參數polar設為True,則作用等同于projection='polar'。

參數nrows、ncols、index既支持單獨傳參,也支持以一個3位整數(每位整數必須小于10)的形式傳參。

subplot()函數會返回一個?Axes類的子類SubplotBase的對象。 Figure類對象可以使用add_subplot()方法繪制單子圖,此方式與subplot()函數的作用是等價的。

Jupyter Notebook的繪圖模式

控制臺繪圖

%matplotlib inline

彈出窗繪圖

%matplotlib auto
//或
%matplotlib notebook
%matplotlib auto
#%matplotlib inline
import matplotlib.pyplot as plt
#3*2,區域6
ax_one = plt.subplot(335)
ax_one.scatter([500,200,850,400,200,700],[2,7,10,12,16,28])#折線圖
#3*1,區域2
ax_two = plt.subplot(322)
ax_two.pie([500,200,850,400,200,700])#餅圖
ax_two = plt.subplot(313)
ax_two.plot([500,200,850,400,200,700])#這里標注為餅圖有誤,應為折線圖
plt.show()

(二)、多子圖

subplots()--可以在規劃好的所有區域中一次繪制多個子圖

subplots(nrows=1,ncols=1,sharex=False,sharey=False,squeeze=True,subplot_kw=None,gridspec_kw=None,**fig_kw)

nrows:表示規劃區域的行數,默認為1。 ncols:表示規劃區域的列數,默認為1。 sharex, sharey:表示是否共享子圖的x軸或y軸。 (Squeeze表示是否返回壓縮的Axes對象;gridspec_kw表示用于控制區域結構屬性的字典)?

import matplotlib.pyplot as plt# 創建 3x3 的子圖布局
fig, ax_one = plt.subplots(3, 3)
# 在 (1, 1) 位置的子圖繪制散點圖
ax_one[1, 1].scatter([500, 200, 850, 400, 200, 700], [2, 7, 10, 12, 16, 28])
# 在 (1, 0) 位置的子圖繪制餅圖
ax_one[1, 0].pie([500, 200, 850, 400, 200, 700])
# 在 (0, 0) 位置的子圖繪制折線圖
ax_one[0, 0].plot([500, 200, 850, 400, 200, 700])
# 顯示圖形
plt.show()   

(三)、跨行跨列

subplot2grid()---將整個畫布規劃成非等分布局的區域,并可在選中的某個區域中繪制單個子圖?

subplot2grid(shape,?loc,?rowspan=1,?colspan=1,?fig=None,?**kwargs)

shape:表示規劃的區域結構,該參數接收一個包含兩個整型數據的元組,元組中第1個元素表示規劃區域的行數,第2個元素代表規劃區域的列數。

loc:表示選擇區域的位置,該參數接收一個包含兩個整型數據的元組,元組中第1個元素表示子圖所在的行數(行數從0開始),第2個元素表示子圖所在的列數(列數從0開始)。 r

owspan:表示向下跨越的行數,默認為1。

colspan:表示向右跨越的列數,默認為1。

fig:表示放置子圖的畫布,默認當前畫布。?

%matplotlib auto
import matplotlib.pyplot as plt
#2*3,第0行第2列區域中繪制子圖
ax1=plt.subplot2grid((2,3),(0,2))
ax1.scatter([1,2,3,4,5], [1,2,3,4,5])#散點圖
#2*3,第1行第1~2列區域繪制子圖
ax2= plt.subplot2grid((2,3),(1,1),colspan=2)
ax2.pie([1,2,3,4,5])#餅圖
plt.show()

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

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

相關文章

基于Qt6 + MuPDF在 Arm IMX6ULL運行的PDF瀏覽器——MuPDF Adapter文檔

項目地址:總項目Charliechen114514/CCIMXDesktop: This is a Qt Written Desktop with base GUI Utilities 本子項目地址:CCIMXDesktop/extern_app/pdfReader at main Charliechen114514/CCIMXDesktop 前言 這個部分說的是Mupdf_adaper下的文檔的工…

Linux 防火墻 firewalld 實戰配置教程!

最近工作上處理了很多關系配置服務器防火墻的操作,于是想寫一篇理論與實踐并存的文章,在這里分享給大家,希望對您有所幫助! 主要包括以下幾部分內容: 防火墻概述 firewalld原理框架 與iptables的異同點 firewalld常…

C#發送文件到藍牙設備

測試環境: visual studio 2022 win11筆記本電腦,具有藍牙功能 .net6控制臺 測試步驟如下: 1 新增名為BluetoothDemo控制臺項目 2 通過nuget安裝InTheHand.Net.Bluetooth,版本選擇4.2.1和安裝InTheHand.Net.Obex,版…

初識 Pandas:Python 數據分析的利器

在數據分析、數據清洗和可視化等領域,Python 無疑是最受歡迎的語言之一,而在 Python 的數據處理生態中,Pandas 是最核心、最基礎的庫之一。如果你接觸數據分析、機器學習、金融建模,或者只是想處理一些 Excel 表格,那么…

SpringBoot項目使用POI-TL動態生成Word文檔

近期項目工作需要動態生成Word文檔的需求,特意調研了動態生成Word的技術方案。主要有以下兩種: 第一種是FreeMarker模板來進行填充;第二種是POI-TL技術使用Word模板來進行填充; 以下是關于POI-TL的官方介紹 重點關注&#xff1…

fakeroot 在沒有超級用戶權限的情況下模擬文件系統的超級用戶行為

fakeroot 是一個在 Linux 環境中使用的工具,它允許用戶在沒有超級用戶權限的情況下模擬文件系統的超級用戶行為。它是一個在 Linux 環境中廣泛使用的工具,通常包含在大多數 Linux 發行版的軟件倉庫中。? 主要功能 ?模擬 root 權限?:fake…

Spring Spring Boot 常用注解整理

Spring & Spring Boot 常用注解整理 先理解核心概念:什么是注解(Annotation)?第一部分:IOC(控制反轉)和 DI(依賴注入)1. Component2. Service, Repository, Controll…

AIGC與數字媒體實驗室解決方案分享

第1部分 概述 1.1 建設目標 1.深度融合AIGC技術,培養能夠駕馭新質生產力的數字媒體人才 通過引入前沿的AIGC技術,確保學生能夠接觸到最先進的人工智能應用。教學內容理論和實踐結合,讓學生在實際操作中熟練掌握AIGC工具,生成高…

訊聯云庫項目開發日志(二)AOP參數攔截

目錄 利用AOP實現參數攔截: 一、??HTTP請求進入Controller?(發送郵件驗證碼) 二、AOP切面觸發 1. 切面攔截(GlobalOperactionAspect.class) method.getAnnotation()?? null interceptor 判斷?? 2.參數校驗注解 3. 參…

用OBD部署OceanBase社區版的避坑指南

以下是用OBD黑屏部署 OceanBase社區版時容易碰到的幾個問題及解決思路,供大家參考。 一、 遇坑步驟:用yaml文件部署集群: obd cluster deploy obtest -c mini-single-example.yaml 報錯: Package oceanbase-ce-4.2.1.8-108000…

無錫哲訊科技:引領芯片封裝SAP系統的智能化革命

芯片封裝行業的數字化轉型 在全球半導體產業高速發展的今天,芯片封裝作為產業鏈的關鍵環節,直接影響著芯片的性能、可靠性和成本。隨著5G、人工智能、物聯網等技術的普及,市場對芯片的需求激增,封裝企業面臨著效率提升、良率優…

從海洋生物找靈感:造個機器人RoboPteropod,它能在水下干啥?

大家好!在如今人類對水下環境探索不斷深入的時代,從水下考古到珊瑚礁考察,各種任務都離不開水下機器人的助力。但傳統水下機器人尺寸較大,在狹窄的水下空間施展不開。今天,我們就來認識一款受海洋小生物啟發而設計的仿…

區塊鏈blog1__合作與信任

🍂我們的世界 🌿不是孤立的,而是網絡化的 如果是單獨孤立的系統,無需共識,而我們的社會是網絡結構,即結點間不是孤立的 🌿網絡化的原因 而目前并未發現這樣的理想孤立系統,即現實中…

Linux服務之lvs+keepalived nginx+keepalived負載均衡實例解析

目錄 一.LVSKeepAlived高可用負載均衡集群的部署 二.NginxKeepAlived高可用負載均衡集群的部署 一.LVSKeepAlived高可用負載均衡集群的部署 實驗環境 主keepalived:192.168.181.10 lvs (7-1) 備keepalived:192.168.181.10…

50天50個小項目 (Vue3 + Tailwindcss V4) ? |搭建項目框架

🖤 一個專注于「Vue3 TailwindCSS」的 50 天極簡開發挑戰,探索組件邊界,打磨技術鋒芒。 🎉 歡迎來到 50 個小項目的第一天!今天我們將從零開始搭建一個 Vue3 項目,并引入 Tailwind CSS v4,為后…

Android 中 網絡圖片加載庫 Glide 簡介

Glide 是一個功能強大且廣泛使用的圖片加載庫,適用于 Android 應用程序。它提供了簡單易用的 API,用于從網絡、本地存儲或資源中加載圖片,并支持圖片的緩存、轉換、占位圖、動畫等功能。 一、Glide 主要特點 簡單易用 提供簡潔的 API,一行代碼即可加載圖片。 支持多種數據…

07 web 自動化之 Unittest 應用:測試報告裝飾器斷言

文章目錄 一、常見的第三方庫結合 unittest 生產 html 格式測試報告1、HtmlTestRunner2、BeatifulReport 二、裝飾器 unittest.skip 強制跳過&條件跳過三、unittest的常用斷言方法 一、常見的第三方庫結合 unittest 生產 html 格式測試報告 1、HtmlTestRunner 官網下載 …

【Python 面向對象】

Python 的面向對象編程(OOP)通過類(Class)和對象(Object)實現代碼結構化,支持封裝、繼承和多態三大特性。以下是系統化指南: 一、類與對象基礎 1. 定義類 class Dog:# 類屬性&…

STM32F103_LL庫+寄存器學習筆記23 - PWM波形輸出及軟件方式調整周期與占空比

導言 脈寬調制(PWM)是 STM32 定時器最常用的輸出模式之一,廣泛應用于電機驅動、LED 調光、伺服控制和功率管理等場景。本篇文章將以 TIM5 為例,從寄存器層面深入剖析 PWM 輸出的原理與實現步驟。通過本篇博客,你不僅能…

堆(Heap)

1. 堆(Heap) 1.1. Python實現堆的插入、堆頂刪除和排序 class MaxHeap:def __init__(self):# 初始化空堆,使用列表表示self.heap []def insert(self, val):# 插入元素并執行上浮self.heap.append(val)self._sift_up(len(self.heap) - 1)de…