亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python數(shù)據(jù)可視化的五種方法小結

 更新時間:2025年04月11日 08:29:24   作者:python慕遙  
大家好,在數(shù)據(jù)驅動決策的時代,數(shù)據(jù)可視化是挖掘數(shù)據(jù)價值的重要一環(huán),本文將介紹五種極為實用的高級可視化圖表,從原理到代碼實現(xiàn),一站式助力繪制數(shù)據(jù)圖,需要的朋友可以參考下

1.和弦圖 

和弦圖以富有創(chuàng)意的方式呈現(xiàn)數(shù)據(jù)點間的復雜關系。

在和弦圖中,節(jié)點環(huán)繞成一個圓形,通過弧線彼此相連。弧長對應連接值的大小,而弧線的粗細則直觀體現(xiàn)關系的重要程度。同時,利用不同顏色對數(shù)據(jù)進行分類,方便用戶進行對比分析。

因其強大的關系展示能力,和弦圖被廣泛應用于眾多領域,在基因數(shù)據(jù)可視化方面表現(xiàn)尤為突出。

下面用 Holoviews 和 Bokeh 庫,來創(chuàng)建一個展示五個國家貿易關系的和弦圖。

import holoviews as hv
from holoviews import opts
import pandas as pd
import numpy as np
hv.extension('bokeh')
 
# 代表5個國家之間出口量的示例矩陣
export_data = np.array([[0, 50, 30, 20, 10],   
                        [10, 0, 40, 30, 20],   
                        [20, 10, 0, 35, 25],   
                        [30, 20, 10, 0, 40],   
                        [25, 15, 30, 20, 0]]) 
 
labels = ['美國', '中國', '德國', '日本', '印度']
 
# 創(chuàng)建一個pandas DataFrame
df = pd.DataFrame(export_data, index=labels, columns=labels)
df = df.stack().reset_index()
df.columns = ['來源', '目標', '數(shù)值']
 
# 創(chuàng)建一個Chord對象
chord = hv.Chord(df)
 
# 對和弦圖進行樣式設置
chord.opts(
    opts.Chord(
        cmap='Category20', edge_cmap='Category20', 
        labels='source', label_text_font_size='10pt',  
        edge_color='source', node_color='index', 
        width=700, height=700
    )
).select(value=(5, None)) 
 
# 顯示圖表
chord

2.旭日圖 

旭日圖超越了傳統(tǒng)的餅圖和環(huán)形圖,能夠清晰展示層次結構數(shù)據(jù)。

旭日圖用同心圓表示不同層級,中心是根節(jié)點,扇形代表具體節(jié)點。扇形大小和數(shù)據(jù)值掛鉤,數(shù)據(jù)重要程度一目了然。

在可視化文件系統(tǒng)層級結構、用戶導航路徑、市場細分和基因數(shù)據(jù)等方面很有用,下面是使用Plotly庫創(chuàng)建旭日圖的示例。

import plotly.express as px
import numpy as np
 
df = px.data.gapminder().query("year == 2007")
 
fig = px.sunburst(df, path=['continent', 'country'], 
                  values='pop',
                  color='lifeExp', 
                  hover_data=['iso_alpha'],
                  color_continuous_scale='RdBu',
                  color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop']))
fig.show()

3.六邊形熱力圖

六邊形熱力圖(Hexbin Plot),即六邊形分箱圖,在可視化二維數(shù)據(jù)分布方面非常有效,尤其適用于數(shù)據(jù)點密集的情況。它將數(shù)據(jù)空間劃分為六邊形單元格,單元格顏色表示其中數(shù)據(jù)點的數(shù)量,能清晰呈現(xiàn)數(shù)據(jù)的分布情況。

下面是使用Python和Matplotlib創(chuàng)建六邊形熱力圖的示例,展示空氣質量指數(shù)(AQI)和醫(yī)院就診人數(shù)之間的相關性。

import numpy as np
import matplotlib.pyplot as plt
from mplhexbin import HexBin
 
# 模擬數(shù)據(jù)
np.random.seed(0)  # 確保結果可復現(xiàn)
n_points = 10000
x = np.random.rand(n_points) * 100# 空氣質量指數(shù)(AQI)取值范圍為0到100
y = 5 * np.sin(x * np.pi / 50) + np.random.randn(n_points) * 15# 模擬的醫(yī)院就診人數(shù),與AQI相關但存在噪聲
 
# 創(chuàng)建一個新的圖形
fig, ax = plt.subplots(figsize=(10, 8))
 
# 使用HexBin創(chuàng)建六邊形分箱圖
hb = HexBin(ax, gridsize=20, cmap='viridis', extent=[0, 100, -30, 50])  # 設置網(wǎng)格大小、顏色映射和范圍
hb.hexbin(x, y, mincnt=1)  # 繪制六邊形分箱圖,mincnt設置最小計數(shù)閾值
 
# 添加標題和軸標簽
ax.set_title('空氣質量指數(shù)(AQI)與醫(yī)院就診人數(shù)之間的關系')
ax.set_xlabel('空氣質量指數(shù)(AQI)')
ax.set_ylabel('醫(yī)院就診人數(shù)')
 
# 顯示圖形
plt.colorbar(hb.cmap, ax=ax, label='數(shù)據(jù)點數(shù)量')  # 添加顏色條并設置標簽
plt.show()

4.?;鶊D 

桑基圖用于可視化數(shù)據(jù)流動,非常適合展示能源、材料和金融等領域的數(shù)據(jù)。

它以馬修·亨利·菲尼亞斯·里亞爾·桑基(Matthew Henry Phineas Riall Sankey)的名字命名,能展示系統(tǒng)各階段或各部分之間的流量。節(jié)點寬度與流量大小成正比,便于理解數(shù)據(jù)的規(guī)模和流向。

下面是使用Python創(chuàng)建桑基圖的示例,展示從生產源頭到小城市消費者的能源流動情況。

import plotly.graph_objects as go
 
labels = ["煤炭", "太陽能", "風能", "核能", "居民", "工業(yè)", "商業(yè)"]
 
source = [0, 1, 2, 3, 0, 1, 2, 3] 
target = [4, 4, 4, 4, 5, 5, 5, 5] 
value = [25, 10, 40, 20, 30, 15, 25, 35] 
 
# 創(chuàng)建桑基圖對象
fig = go.Figure(data=[go.Sankey(
    node=dict(
        pad=15,  
        thickness=20, 
        line=dict(color="black", width=0.5),
        label=labels 
    ),
    link=dict(
        source=source,  
        target=target, 
        value=value  
    ))])
 
fig.update_layout(title_text="模范城市的能源流動", font_size=12)
fig.show()

5.流圖(主題河流圖) 

流圖形似河流,用于描繪數(shù)據(jù)隨時間的變化。不同顏色區(qū)分不同類別,“河流”的寬度代表每個類別的數(shù)值大小。它以可視化的方式展示數(shù)據(jù)趨勢和關系,便于理解數(shù)據(jù)動態(tài)。

下面是用Altair庫創(chuàng)建流圖的示例:

import altair as alt
from vega_datasets import data
 
source = data.unemployment_across_industries.url
 
alt.Chart(source).mark_area().encode(
    alt.X('yearmonth(date):T',
        axis=alt.Axis(format='%Y', domain=False, tickSize=0)
    ),
    alt.Y('sum(count):Q', stack='center', axis=None),
    alt.Color('series:N',
        scale=alt.Scale(scheme='category20b')
    )
).interactive()

在數(shù)據(jù)驅動的時代,高級可視化圖表為我們提供了挖掘數(shù)據(jù)深層價值的強大工具。無論是和弦圖的復雜關系呈現(xiàn)、旭日圖的層次結構解析,還是六邊形熱力圖的數(shù)據(jù)分布洞察,?;鶊D的流動分析和流圖的時間趨勢展示,都拓展了我們對數(shù)據(jù)的理解維度。掌握這些工具,意味著能夠用更專業(yè)、更精準的方式傳遞信息,讓數(shù)據(jù)真正成為推動業(yè)務和科研進步的引擎。

以上就是Python數(shù)據(jù)可視化的五種方法小結的詳細內容,更多關于Python數(shù)據(jù)可視化的資料請關注腳本之家其它相關文章!

相關文章

  • 淺談Python 中的復數(shù)問題

    淺談Python 中的復數(shù)問題

    這篇文章主要介紹了在Python 中的復數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • python復制列表時[:]和[::]之間有什么區(qū)別

    python復制列表時[:]和[::]之間有什么區(qū)別

    這篇文章主要給大家介紹了關于python復制列表時[:]和[::]之間有什么區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • Python numpy二維數(shù)組如何刪除指定行和列

    Python numpy二維數(shù)組如何刪除指定行和列

    本文展示了如何對數(shù)組進行行列刪除操作,包括刪除單行、單列、多行和多列的方法,通過具體的運行結果展示,讀者可以清晰地了解到如何在不同情況下進行數(shù)據(jù)處理,文章內容實用,適合需要進行數(shù)據(jù)處理的讀者參考學習
    2024-09-09
  • Scipy稀疏矩陣bsr_array的使用

    Scipy稀疏矩陣bsr_array的使用

    本文主要介紹了Scipy稀疏矩陣bsr_array的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python?Tornado?框架使用終極指南

    Python?Tornado?框架使用終極指南

    這篇文章主要為大家介紹了Python?Tornado?框架使用終極指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python pip install之SSL異常處理操作

    Python pip install之SSL異常處理操作

    這篇文章主要介紹了Python pip install之SSL異常處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Python實現(xiàn)的棧、隊列、文件目錄遍歷操作示例

    Python實現(xiàn)的棧、隊列、文件目錄遍歷操作示例

    這篇文章主要介紹了Python實現(xiàn)的棧、隊列、文件目錄遍歷操作,結合實例形式分析了Python數(shù)據(jù)結構中棧與隊列的定義、使用,以及文件目錄的遍歷相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • 將tensorflow的ckpt模型存儲為npy的實例

    將tensorflow的ckpt模型存儲為npy的實例

    今天小編就為大家分享一篇將tensorflow的ckpt模型存儲為npy的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 如何利用PyQt5制作一個簡單的登錄界面

    如何利用PyQt5制作一個簡單的登錄界面

    初學者制作登錄界面時常遇到網(wǎng)上代碼看不懂、不會用、用不了的問題,下面這篇文章主要給大家介紹了關于如何利用PyQt5制作一個簡單的登錄界面,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python 安裝setuptools和pip工具操作方法(必看)

    Python 安裝setuptools和pip工具操作方法(必看)

    下面小編就為大家?guī)硪黄狿ython 安裝setuptools和pip工具操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論