數據直觀分析與可視化

數據直觀分析與可視化


一、數據的直觀分析核心價值

數據的直觀分析旨在通過視覺化的方式,幫助人們更直觀、更快速地理解數據的特征和模式,從而發現趨勢、異常值、分布情況以及變量之間的關系,為決策提供支持。

數據可視化與信息圖形、信息可視化、科學可視化及統計圖形密切相關。

可視化的終極目標是洞悉蘊含在數據中的現象和規律,這里面有多重含義:發現、決策、解釋、分析、探索和學習。


二、特殊統計圖繪制技巧

2.1 函數圖繪制

# 橢圓圖
plt.plot(x,y,c='r')
plt.axvline(x=0)
plt.axhline(y=0)
plt.text(0.2,1,r'$\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$',fontsize=25)

在這里插入圖片描述

2.2 氣泡圖與三維可視化

# 二維氣泡圖,s=8y
x=np.linspace(-4,4,20) 
print(x)
y=x**2                    
plt.scatter(x,y,s=100*y)  

在這里插入圖片描述

# 三維散點圖
# 創建數據
x = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, x)                # 從坐標向量x,y中返回坐標矩陣
Z = np.sin(np.sqrt(X**2 + Y**2))        # Z=sin(sqrt(X^2+Y^2))# 創建圖形
fig = plt.figure(figsize=(10, 8))
ax = fig.add_axes(Axes3D(fig, elev=30, azim=20))  # 使用add_axes方法創建3D坐標軸
ax.scatter(X, Y, Z, c=Z, cmap='viridis', s=30, alpha=0.6)  # 添加顏色映射和透明度# 設置標簽
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 顯示圖形
plt.show()

在這里插入圖片描述


三、Seaborn高效統計繪圖

3.1 箱線圖與小提琴圖對比

繪圖所用數據如下:

# 讀取繪圖用數據
import pandas as pd
BSdata=pd.read_excel('DaPy_data.xlsx','BSdata')
BSdata.head()

在這里插入圖片描述

# 箱線圖(boxplot)
sns.boxplot(x=BSdata['身高'])

在這里插入圖片描述

# 小提琴圖(violinplot)
sns.violinplot(x='開設', y='支出', hue='性別', data=BSdata)

在這里插入圖片描述

3.2 分布圖矩陣

# 概率分布圖
BSdata['身高'].hist() 

在這里插入圖片描述


四、ggplot繪圖系統實踐

在這里插入圖片描述

4.1 基礎使用

包的安裝:

!pip show ggplot
!pip show plotnine

包的加載與設置:

from plotnine import *    #加載和調用ggplot所有方法
theme_set(theme_bw(base_family='SimHei')) 
#設置圖形主題背景為白色bw、中文字體為黑體SimHei

4.2 ggplot中圖層

GP=ggplot(BSdata,aes(x='身高',y='體重')) #繪制直角坐標系
GP 

在這里插入圖片描述

GP + geom_point()  #增加點圖

在這里插入圖片描述

GP + geom_line()   #增加線圖

在這里插入圖片描述

GP + geom_point() + geom_line()  #增加點和線圖

在這里插入圖片描述

4.3 統計圖繪制

#在plotnine中可使用facet_wrap參數可以按類型繪制分面圖。
ggplot(BSdata,aes('身高','體重')) + geom_point() + facet_wrap('性別',nrow=2) 

在這里插入圖片描述

# 折線圖
ggplot(BSdata,aes(x='支出',y='身高',color='性別',shape='性別')) + geom_line() + geom_point()

在這里插入圖片描述


五、pyecharts動態繪圖精解

pyecharts是基于Echarts圖表的一個類庫,而Echarts是百度開源的商業級數據圖表,它是一個純JavaScript的圖表庫,可以為用戶提供直觀生動、可交互、可高度個性化定制的數據可視化圖表,賦予了用戶對數據進行挖掘整合的能力。

https://echarts.apache.org/zh/index.html

pyecharts主要基于web瀏覽器進行顯示,繪制的圖形比較多,包括折線圖、柱狀圖、餅圖、漏斗圖、地圖、極坐標圖等,代碼量很少,而且很靈活,繪制出來的圖形很美觀。

使用pyecharts時,需要安裝相應的庫,安裝命令為:

pip install pyecharts
A Python Echarts Plotting Library——https://pyecharts.org/#/

5.1 pyecharts安裝全攻略

環境準備
# 創建虛擬環境(推薦)
python -m venv vis_env
source vis_env/bin/activate  # Linux/Mac
vis_env\Scripts\activate     # Windows# 核心安裝
pip install pyecharts -U# 擴展組件
pip install echarts-countries-pypkg      # 437個國家地圖
pip install echarts-china-provinces-pypkg # 34個省級行政區
pip install echarts-china-cities-pypkg    # 367個市級城市
版本驗證
import pyecharts
print(pyecharts.__version__)  # 輸出應為1.x.x或2.x.x

5.2 基礎圖表快速上手

動態柱狀圖
from pyecharts.charts import Barbar = Bar()
bar.add_xaxis(["蘋果", "華為", "小米", "OPPO"])
bar.add_yaxis("手機銷量", [25, 30, 18, 22])
bar.set_global_opts(title_opts={"text": "2023 Q2手機銷量統計"})
bar.render('phone_sales.html')

在這里插入圖片描述

3D散點圖
from pyecharts.charts import Scatter3D
import randomdata = [[random.randint(0,100) for _ in range(3)] for _ in range(100)]
scatter = Scatter3D().add("", data)
scatter.render("3d_scatter.html")

在這里插入圖片描述

5.3 高級配置技巧

地圖可視化
from pyecharts.charts import Mapdata = [("廣東", 125), ("江蘇", 98), ("山東", 87)]
map_chart = Map().add("GDP分布", data, "china")
map_chart.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=150))
map_chart.render('china_gdp.html')

在這里插入圖片描述


六、常見問題解決方案

6.1 地圖顯示異常處理

現象:地圖空白或只顯示輪廓

# 正確加載省級地圖
from pyecharts.datasets import register_url
register_url("https://echarts-maps.github.io/echarts-china-provinces-js/")# 強制刷新緩存
import pyecharts.globals as g
g._WarningControl.ShowWarning = False

6.2 Jupyter內聯顯示配置

from pyecharts.globals import CurrentConfig
CurrentConfig.NOTEBOOK_SHOW = True# 顯示圖表
bar.load_javascript()
bar.render_notebook()

七、可視化最佳實踐建議

  1. 數據預處理:清洗缺失值,規范數據格式

  2. 顏色選擇:使用ColorBrewer科學配色方案

  3. 交互設計:合理控制動畫效果復雜度

  4. 移動適配:響應式布局配置

   bar.set_global_opts(datazoom_opts=[opts.DataZoomOpts(type_="inside")],toolbox_opts=opts.ToolboxOpts(is_show=True))

八、學習資源推薦

  1. ECharts官方示例庫
  2. pyecharts-gallery項目
  3. 《Python數據可視化之美》專業書籍
  4. DataViz項目實戰案例集

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

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

相關文章

Neo4j數據庫

Neo4j 是一款專門用來處理復雜關系的數據庫。我們可以簡單地將它理解為一個“用圖結構來管理數據的工具”。與我們常見的,像 Excel 那樣用表格(行和列)來存儲數據的傳統數據庫不同,Neo4j 采用了一種更接近人類思維對現實世界理解的…

Java異常處理全解析:從基礎到自定義

目錄 🚀前言🤔異常的定義與分類💯運行時異常💯編譯時異常💯異常的基本處理 🌟異常的作用🐧自定義異常💯自定義運行時異常💯自定義編譯時異常 ??異常的處理方案&#x1…

Redisson分布式集合原理及應用

Redisson是一個用于Redis的Java客戶端,它簡化了復雜的數據結構和分布式服務的使用。 適用場景對比 數據結構適用場景優點RList消息隊列、任務隊列、歷史記錄分布式共享、阻塞操作、分頁查詢RMap緩存、配置中心、鍵值關聯數據支持鍵值對、分布式事務、TTLRSet去重集…

打破次元壁,VR 氣象站開啟氣象學習新姿勢?

在教育領域,VR 氣象站同樣發揮著巨大的作用,為氣象教學帶來了全新的模式,打破了傳統教學的次元壁,讓學生們以全新的姿勢學習氣象知識。? 在傳統的氣象教學中,學生們主要通過課本、圖片和老師的講解來學習氣象知識。這…

k8s面試題-ingress

場景:我通過deployment更新pod,ingress是怎么把新的請求流量發送到我新的pod的?是怎么監控到我更新的pod的? 在 Kubernetes 中,Ingress 是一種 API 對象,用于管理外部訪問到集群內服務的 HTTP 和 HTTPS 路…

RHCE 練習三:架設一臺 NFS 服務器

一、題目要求 1、開放 /nfs/shared 目錄,供所有用戶查詢資料 2、開放 /nfs/upload 目錄,為 192.168.xxx.0/24 網段主機可以上傳目錄,并將所有用戶及所屬的組映射為 nfs-upload,其 UID 和 GID 均為 210 3.將 /home/tom 目錄僅共享給 192.16…

【動態導通電阻】GaN HEMT動態導通電阻的精確測量

2023 年 7 月,瑞士洛桑聯邦理工學院的 Hongkeng Zhu 和 Elison Matioli 在《IEEE Transactions on Power Electronics》期刊發表了題為《Accurate Measurement of Dynamic ON-Resistance in GaN Transistors at Steady-State》的文章,基于提出的穩態測量方法,研究了氮化鎵(…

AI 制作游戲美術素材流程分享(程序員方向粗糙版)

AI 制作游戲美術素材分享(程序員方向粗糙版) 視頻講解: 抖音:https://www.douyin.com/user/self?from_tab_namemain&modal_id7505691614690561295&showTabpost Bilibili: https://www.bilibili.com/video/BV1ojJGzZEve/ 寫在最前面: 本方法比較粗糙,只對對美術風…

Java求職面試:互聯網大廠技術棧深度解析

文章簡述 在這篇文章中,我們將通過一個模擬的面試場景,帶你深入了解Java求職面試中可能會遇到的技術棧問題。通過這個故事,你可以學習到相關技術點的具體應用場景和面試技巧。 正文 場景:某互聯網大廠的面試現場 面試官&#…

學習日記-day11-5.20

完成目標: comment.java package com.zcr.pojo; import org.hibernate.annotations.GenericGenerator;import javax.persistence.*; //JPA操作表中數據,可以將對應的實體類映射到一張表上Entity(name "t_comment")//表示當前的實體類與哪張表…

機器學習第十九講:交叉驗證 → 用五次模擬考試驗證真實水平

機器學習第十九講:交叉驗證 → 用五次模擬考試驗證真實水平 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署:超詳細手把手指南 交叉驗證…

Linux面試題集合(6)

創建多級目錄或者同級目錄 mkdir -p 文件名/文件名/文件名 mkdir -p 文件名 文件名 文件名 Linux創建一個文件 touch 文件名 DOS命令創建文件 echo 內容>文件名(創建一個有內容的文件) echo >文件名(創建一個沒有內容的文件&#xff09…

Vue百日學習計劃Day46-48天詳細計劃-Gemini版

Day 46: <KeepAlive> - 組件緩存與優化 (~3 小時) 本日目標: 理解 <KeepAlive> 的作用&#xff0c;學會如何使用它來緩存組件實例&#xff0c;從而優化應用性能和用戶體驗。所需資源: Vue 3 官方文檔 (<KeepAlive>): https://cn.vuejs.org/guide/built-ins/…

SpringBean模塊(三)具有生命周期管理能力的類(1)AutowireCapableBeanFactory

一、介紹 1、簡介 AutowireCapableBeanFactory 是 Spring 框架中的一個接口&#xff0c;位于 org.springframework.beans.factory 包下&#xff0c;它提供了更底層的 Bean 實例化、依賴注入和生命周期管理能力&#xff0c;即使這些 Bean 沒有通過常規的 Component 或 XML 注冊…

Service Mesh

目錄 一、Service Mesh 的核心特點 二、Service Mesh 的典型架構 1. Sidecar 模式 2. 控制平面與數據平面分離 三、Service Mesh 解決的核心問題 四、典型應用場景 五、主流 Service Mesh 框架對比 六、挑戰與局限性 七、未來趨勢 總結 Istio 一、Istio 核心組件與…

黑馬Java基礎筆記-13常用查找算法

查找算法 基本查找(也叫順序查找&#xff0c;線性查找) 二分查找&#xff08;需要有序數據&#xff09; public static int binarySearch(int[] arr, int number){//1.定義兩個變量記錄要查找的范圍int min 0;int max arr.length - 1;//2.利用循環不斷的去找要查找的數據wh…

Go 語言 vs C+Lua(Skynet)游戲服務器方案對比分析

為啥挑這兩個呢&#xff1f;因為兩種技術分別對應CSP模型和Actor模型&#xff0c;都是經過時間檢驗的成熟且可靠的并發模型&#xff0c;問了很多地方&#xff0c;經過gpt整理得出如下報告。 從開發效率、運行性能、熱更新擴展、云部署與水平擴展能力、多類型游戲支持等五個維度…

LeetCode 925. 長按鍵入 java題解

雙指針。不會寫。 https://leetcode.cn/problems/long-pressed-name/description/ class Solution {public boolean isLongPressedName(String name, String typed) {int len1name.length();int len2typed.length();int i0,j0;while(i<len1&&j<len2){if(name.ch…

如何使用通義靈碼提高前端開發效率

工欲善其事&#xff0c;必先利其器。對于前端開發而言&#xff0c;使用VSCode已經能夠極大地提高前端的開發效率了。但有了AI加持后&#xff0c;前端開發的效率又更上一層樓了&#xff01; 本文采用的AI是通義靈碼插件提供的通義千問大模型&#xff0c;是目前AI性能榜第一梯隊…

【小明劍魔視頻Viggle AI模仿的核心算法組成】

Viggle AI 作為一款先進的生成式視頻AI工具&#xff0c;其核心技術棧融合了多項前沿算法。以下是深度解析其核心算法架構及實現原理&#xff1a; 一、核心算法組成 1. 運動控制生成&#xff08;Motion Control Generation&#xff09; 算法框架&#xff1a;基于擴散模型&…