Python數據可視化-第1章-數據可視化與matplotlib

環境

開發工具

VSCode

庫的版本

numpy==1.26.4
matplotlib==3.10.1
ipympl==0.9.7

教材

本書為《Python數據可視化》一書的配套內容,本章為第1章 數據可視化與matplotlib
本文主要介紹了什么是數據集可視化,數據可視化的目的,常見的數據可視化方式,如何選擇正確的可視化圖表,matplotlib的多種API使用以及matplotlib的層次結構等。
在這里插入圖片描述

參考

政務可視化設計經驗-圖表習慣

數據可視化設計必修課(一):圖表篇

一文講透 | 大屏數據可視化圖表選用指南

第1章 數據可視化與matplotlib

什么是數據可視化

數據可視化旨在借助圖形化的手段,將一組數據以圖形的形式表示,并利用數據分析和開發工具發現其中未知信息的處理過程。

可視化其實是一個抽象的過程,它可以簡單地理解為將一個不易描述的事物形成一個可感知畫面的過程,也就是從數據空間到圖形空間的映射
在這里插入圖片描述
數據可視化的過程

數據可視化目的

無論原始數據被映射為哪種圖形數據,最終要達到的目的只有一個,便是準確地、高效地、全面地傳遞信息,進而建立起數據間的關系,使人們發現數據間的規律特征,并挖掘出有價值的信息,提高數據溝通的效率
在這里插入圖片描述

常見的數據可視化方式

折線圖

在這里插入圖片描述

柱形圖

在這里插入圖片描述

條形圖

在這里插入圖片描述

堆積圖

在這里插入圖片描述

直方圖

在這里插入圖片描述
在這里插入圖片描述

箱型圖

在這里插入圖片描述
在這里插入圖片描述

餅圖

在這里插入圖片描述
在這里插入圖片描述

散點圖

在這里插入圖片描述
在這里插入圖片描述

氣泡圖

在這里插入圖片描述

誤差棒圖

在這里插入圖片描述

雷達圖

在這里插入圖片描述

統計地圖

在這里插入圖片描述

3D圖表

在這里插入圖片描述

選擇正確的可視化圖表

數據通常包含4種關系:比較、分布、構成和聯系。

比較:比較關系主要關注數據中各類別或時間變化的情況。
分布:分布關系主要關注不同數值范圍內包含多少數據的情況。
構成:構成關系主要關注各部分與整體占比的情況。
聯系:聯系關系主要關注兩個及兩個以上的變量之間關系的情況。
在這里插入圖片描述

基于比較關系可選擇的圖表

在這里插入圖片描述

基于分布關系可選擇的圖表

在這里插入圖片描述

基于構成關系可選擇的圖表

在這里插入圖片描述

基于聯系關系可選擇的圖表

在這里插入圖片描述

不同的劃分方法

在這里插入圖片描述
在這里插入圖片描述

常見的數據可視化庫

matplotlibseaborn、ggplot、bokeh、pygal、pyecharts

matplotlib庫的簡單使用

matplotlib庫簡介

matplotlib是一個由John D.Hunter等人員開發的、主要用于繪制2D圖表的Python庫
matplotlib支持numpy、pandas的數據結構,具有繪制豐富的圖表、定制圖表元素或樣式的功能。 matplotlib 還可用于繪制一些3D圖表
matplotlib官網提供了三種API:pyplot APIobject-oriented APIpylab API

pyplot API

pyplot API是使用pyplot模塊開發的接口,該接口封裝了一系列與MATLAB命令同名的函數,使用這些函數可以像使用MATLAB命令一樣快速地繪制圖表。

通過pyplot API繪制圖表的基本思路:

(1)導入pyplot模塊。
(2)調用該模塊的繪圖函數來繪制圖表。
(3)展示圖表。
pyplot API屏蔽了底層中畫布、繪圖區域的創建細節,它會持續跟蹤當前的畫布和繪圖區域

import numpy as np
import matplotlib.pyplot as plt     # 導入 pyplot 模塊
data = np.array([1, 2, 3, 4, 5])     # 準備數據
plt.plot(data) # 在當前畫布的繪圖區域中繪制圖表
plt.show()   # 展示圖表

在這里插入圖片描述

object-oriented API

object-oriented API是面向對象的接口,該接口封裝了一系列對應圖表元素的類,只有創建這些類的對象并按照隸屬關系組合到一起才能完成一次完整的繪圖。

通過object-oriented API繪制圖表的基本思路:

(1)導入pyplot模塊。
(2)創建畫布(Figure類的對象)。
(3)在畫布上添加繪圖區域(Axes類的對象)。
(4)調用繪圖方法繪制圖表。
(5)展示圖表。

import numpy as np
import matplotlib.pyplot as plt
data = np.array([1, 2, 3, 4, 5])        # 準備數據
fig = plt.figure()                      #  創建代表畫布的Figure 類的對象fig
ax = fig.add_subplot(111)               # 在畫布fig上添加坐標系風格的繪圖區域ax
ax.plot(data)                           #  繪制圖表
plt.show()                              #  展示圖表

在這里插入圖片描述

pyplot API和 object-oriented API選擇

用戶在使用時可以根據自身的實際情況進行選擇 ,若只是需要快速地繪制圖表,可以選擇pyplot API進行開發;若需要自定義圖表,可以選擇object-oriented API進行開發。

matplotlib所繪圖形的層次結構

在這里插入圖片描述使用matplotlib繪制的圖形主要由三層組成:容器層圖像層輔助顯示層
在這里插入圖片描述

關于Canvas對象Figure對象Axes對象的結構如下圖所示。
在這里插入圖片描述
Axes對象擁有屬于自己的坐標系,它可以是直角坐標系,即包含x軸和y軸的坐標系,也可以是三維坐標系(Axes的子類Axes3D對象),即包含x軸、y軸、z軸的坐標系。

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

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

相關文章

ESLint報錯:Could not find config file.

如果你的ESLint的版本大于 8,同時使用 .eslinrc.js 和 .eslintignore 作為配置文件,且目前用的是 VSCODE ,就有可能遇到報錯: Could not find config file. 這個是因為 VSCode 中 ESLint 插件的配置 eslint.useFlatConfig 的問題…

基于SpringBoot的“醫療設備管理系統”的設計與實現(源碼+數據庫+文檔+PPT)

基于SpringBoot的“醫療設備管理系統”的設計與實現(源碼數據庫文檔PPT) 開發語言:Java 數據庫:MySQL 技術:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系統展示 系統總體功能模塊圖 系統E-R圖 系統登錄界面 …

WordPress漢主題

WordPress漢主題wphan.com(以下簡稱WP漢主題)是一個專注于WordPress中文主題與插件開發的專業團隊。該團隊致力于為中文用戶提供高質量的WordPress主題和插件資源,幫助用戶輕松創建專業且吸引人的網站。 WP漢主題提供多種功能豐富的WordPress主題,涵蓋博…

arthas之jvm相關命令

文章目錄 1. dashboard2. thread線程相關3. jvmTHREAD相關文件描述符相關 4. sysprop5. 小結6. sysenv7. vmoption8. getstatic9. ognl10. 小結 1. dashboard 作用:顯示當前系統的實時數據面板,按q或ctrlc退出 數據說明 ID: Java級別的線程ID&#xff…

小米平板 4 Plus 玩機日志

在一次偶然中,我從一個角落中找到了這臺小米平板 4 Plus(是的,現在正在用這個平板寫這篇文章)。在找到她的時候,她已經奄奄一息了,即使按動那脆弱的電源鍵也沒有任何響應。 在給她補充能源后,她…

MSYS2學習筆記

前言 本文內容是MSys2 Documentation的學習筆記可以使用MSYS2編譯QGis 學習筆記 什么是MSYS2? MSYS2(Minimal System 2)是一個為Windows平臺打造的軟件開發環境和包管理系統,它結合了Cygwin的POSIX兼容層、Arch Linux的pacman…

gnvm切換node版本號

1. gnvm下載官網 GNVM - Node.js version manager on Windows by Go 2. 安裝 2.1 不存在 Node.js 環境 下載并解壓縮 gnvm.exe 保存到任意文件夾,并將此文件夾加入到環境變量 Path。 2.2 存在 Node.js 環境 下載并解壓縮 gnvm.exe 保存到 Node.js 所在的文件夾。 2.…

目標檢測 AP 計算 實例 python

以下是使用 Python 實現目標檢測中 ?Average Precision (AP)? 計算的完整實例,包含代碼和注釋。這里以 ?Pascal VOC 標準? 為例(IoU閾值0.5)。 步驟1:準備數據 假設: gt_boxes: 真實標注框列表,格式為 …

AWS用Glue讀取S3文件上傳數據到Redshift,再導出到Quicksight完整版,含VPC配置

1. 項目背景 AWS的官方文檔,關于Glue和Vpc配置部分已經比較舊了,按照官方文檔配置的流程始終跑不通,花了一番時間和波折后,才終于完整的跑通了。 在數據分析和商業智能(BI)領域,我們常需要將存…

SpringBoot詳細教程(持續更新中...)

SpringBoot 一、概述 Springboot有哪些特點呢?或者說它跟Spring比有哪些優點呢? 1、起步依賴 通俗的說,就是一個依賴包含了很多個依賴;好處是引入所需的依賴更加簡便,而且有效避免了依賴之間的版本沖突問題&#xf…

亞馬遜玩具品類技術驅動型選品策略:從趨勢洞察到合規基建

一、全球玩具電商技術演進趨勢 (技術化重構原市場背景) 數據可視化分析:通過亞馬遜SP-API抓取2023年玩具品類GMV分布熱力圖 監管技術升級: 美國CPSC啟用AI質檢系統(缺陷識別準確率92.7%) 歐盟EPR合規接口…

spring boot 整合redis

1.在pom文件中添加spring-boot-starter-data-redis依賴啟動器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.編寫三個實體類 RedisHash("p…

python 語法篇(一)

目錄 1 正則匹配注意點11.1 正則匹配字符串寫法1.2 創建re函數&#xff08;1&#xff09;re.search()--搜索第一個匹配項&#xff08;2&#xff09;re.match() - 從字符串開頭匹配&#xff08;3&#xff09;re.findall() - 返回所有匹配項的列表&#xff08;4&#xff09;re.fi…

深度學習Note.4(機器學習實踐)

線性回歸 零. 1.paddle庫的一些API paddle.rand(shape,dtype None, name None) *隨機生成符合均勻分布的Tensor paddle.nromal(mean 0.0, std 1.0, shape None, name None) *隨機生成符合正態分布的Tensor *輸入正態分布均值&#xff0c;標準差&#xff0c; 生成結果的…

UE5學習筆記 FPS游戲制作29 更換武器時更換武器的圖標

文章目錄 制作物體圖標UI添加獲取武器圖標的方法使用事件分發器&#xff0c;通知UI要換槍定義事件分發器調用事件分發器注冊事件分發器 制作物體圖標UI 在Fpp-UI上添加一個圖片&#xff0c;改名為五weaponIcon&#xff0c;勾選SizeToContent,錨點放在右下角&#xff0c;對齊改…

RCE(自增、取反、異或)

自增: 也就是說&#xff0c;a > b&#xff0c;b > c... 所以&#xff0c;我們只要能拿到一個變量&#xff0c;其值為a&#xff0c;通過自增操作即可獲得a-z中所有字符。 無字母數字構造&#xff1a; 所有敏感字符串&#xff08;ASSERT、_POST&#xff09;通過自增動態生…

從架構角度談談云原生架構

1、云原生架構起源 隨著云服務商的成熟&#xff0c;客戶面臨著將服務直接使用云平臺的服務部署在云平臺上&#xff0c;或者采用本地和云上混合部署的模式來對外提供服務&#xff0c;從解決方案的角度來說&#xff0c;采用云原生架構的優點有&#xff1a; 可以利用云服務的管理…

Zcanpro搭配USBCANFD-200U在新能源汽車研發測試中的應用指南(周立功/致遠電子)

——國產工具鏈的崛起與智能汽車測試新范式 引言&#xff1a;新能源汽車測試的國產化突圍 隨著新能源汽車智能化、網聯化程度的提升&#xff0c;研發測試面臨三大核心挑戰&#xff1a;多協議融合&#xff08;CAN FD/LIN/以太網&#xff09;、高實時性數據交互需求、復雜工況下…

【Verilog】實驗十 帶倒計時交通燈控制電路設計

目錄 一、實驗目的 二、實驗環境 三、實驗任務 四、實驗原理與實驗步驟 1. 實驗原理 2. 實驗步驟 五、實驗思考 代碼 TOP.v trafic2_2.v shumaguan.v clk_div.v 一、實驗目的 1. 掌握同步有限狀態機的設計方法。 2. 采用狀態機的設計方法&#xff0c;設計實現帶倒…

Linux : System V 共享內存

目錄 一 前言 二 共享內存概念 三 共享內存創建 四 查看共享內存 五 共享內存的刪除 六 共享內存的關聯 七 共享內存去關聯 八 共享內存的使用&#xff08;通信&#xff09; 九 共享內存的特點 一 前言 共享內存區是最快的IPC形式&#xff08;進程間通信&#xff1…