日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

高大上!五個(gè)python高級可視化圖表!

來源: 責(zé)編: 時(shí)間:2024-05-22 17:09:34 174觀看
導(dǎo)讀1. 和弦圖(Chord Diagram)和弦圖,作為一種數(shù)據(jù)可視化工具,獨(dú)具匠心地展示了數(shù)據(jù)間的復(fù)雜關(guān)系。在圖表中,節(jié)點(diǎn)井然有序地分布于圓周之上,點(diǎn)與點(diǎn)之間則以優(yōu)雅的弧線相互連接,這些弧線不僅揭示了數(shù)據(jù)間的內(nèi)在聯(lián)系,還通過其長度的

1. 和弦圖(Chord Diagram)

和弦圖,作為一種數(shù)據(jù)可視化工具,獨(dú)具匠心地展示了數(shù)據(jù)間的復(fù)雜關(guān)系。在圖表中,節(jié)點(diǎn)井然有序地分布于圓周之上,點(diǎn)與點(diǎn)之間則以優(yōu)雅的弧線相互連接,這些弧線不僅揭示了數(shù)據(jù)間的內(nèi)在聯(lián)系,還通過其長度的差異,直觀地反映了連接間的數(shù)值大小。更進(jìn)一步,弧線的粗細(xì)程度還巧妙地映射出數(shù)據(jù)間關(guān)系的重要性,使觀察者能一目了然地洞察數(shù)據(jù)背后的故事。sWd28資訊網(wǎng)——每日最新資訊28at.com

此外,和弦圖還巧妙地運(yùn)用了色彩這一視覺元素,將數(shù)據(jù)分門別類,使得數(shù)據(jù)的比較和區(qū)分變得直觀且易于理解。這一特性使得和弦圖在多個(gè)領(lǐng)域都有著廣泛的應(yīng)用,特別是在生物科學(xué)領(lǐng)域,它成為了可視化基因數(shù)據(jù)的得力助手。在國際學(xué)術(shù)刊物上,和弦圖更是被譽(yù)為信息圖表(info graphics)的典范,用于揭示社交網(wǎng)絡(luò)的交織、基因組的奧秘、交通流的動態(tài)以及貿(mào)易關(guān)系的錯綜復(fù)雜。sWd28資訊網(wǎng)——每日最新資訊28at.com

sWd28資訊網(wǎng)——每日最新資訊28at.com

以下示例代碼使用Holoviews & Bokeh創(chuàng)建和弦圖,展示5個(gè)不同國家之間的貿(mào)易關(guān)系。sWd28資訊網(wǎng)——每日最新資訊28at.com

import holoviews as hvfrom holoviews import optsimport pandas as pdimport numpy as nphv.extension('bokeh')# Sample matrix representing the export volumes between 5 countriesexport_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 = ['USA', 'China', 'Germany', 'Japan', 'India']# Creating a pandas DataFramedf = pd.DataFrame(export_data, index=labels, columns=labels)df = df.stack().reset_index()df.columns = ['source', 'target', 'value']# Creating a Chord objectchord = hv.Chord(df)# Styling the Chord diagramchord.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)) # Display the plotchord

sWd28資訊網(wǎng)——每日最新資訊28at.com

https://holoviews.org/reference/elements/matplotlib/Chord.htmlsWd28資訊網(wǎng)——每日最新資訊28at.com

https://github.com/moshi4/pyCirclizesWd28資訊網(wǎng)——每日最新資訊28at.com

2. 旭日圖(Sunburst Chart)

旭日圖(Sunburst Chart)以其獨(dú)特的視覺呈現(xiàn)方式,超越了傳統(tǒng)的餅圖和環(huán)圖,能夠清晰地表達(dá)數(shù)據(jù)的層級和歸屬關(guān)系。它通過父子層次結(jié)構(gòu)來展示數(shù)據(jù)的構(gòu)成情況,使用戶能夠輕松理解和分析復(fù)雜的層次數(shù)據(jù)。sWd28資訊網(wǎng)——每日最新資訊28at.com

旭日圖由多個(gè)環(huán)形組成,每個(gè)環(huán)形都代表著層次結(jié)構(gòu)中的一個(gè)不同級別。圖表的中心是層次結(jié)構(gòu)的根或頂層,象征著數(shù)據(jù)的起點(diǎn)。每個(gè)環(huán)上的每個(gè)部分或扇區(qū)則代表著該層次結(jié)構(gòu)中的一個(gè)具體節(jié)點(diǎn),而每個(gè)部分/扇區(qū)的大小則與其在兄弟節(jié)點(diǎn)中的相對值成比例,直觀地反映了數(shù)據(jù)的重要性。sWd28資訊網(wǎng)——每日最新資訊28at.com

旭日圖在多個(gè)領(lǐng)域中都展現(xiàn)出了其強(qiáng)大的數(shù)據(jù)可視化能力,如計(jì)算機(jī)文件系統(tǒng)的層級結(jié)構(gòu)、網(wǎng)站用戶的導(dǎo)航路徑、市場細(xì)分?jǐn)?shù)據(jù)的層級關(guān)系以及復(fù)雜的基因組數(shù)據(jù)等。這些應(yīng)用場景都通過旭日圖得以清晰、直觀地呈現(xiàn),幫助用戶快速理解數(shù)據(jù)的內(nèi)在結(jié)構(gòu)和邏輯關(guān)系。sWd28資訊網(wǎng)——每日最新資訊28at.com

下面是一段使用Python庫Plotly繪制旭日圖的示例代碼,您可以通過這段代碼輕松創(chuàng)建出具有豐富層次結(jié)構(gòu)和數(shù)據(jù)信息的旭日圖。sWd28資訊網(wǎng)——每日最新資訊28at.com

import plotly.express as pximport numpy as npdf = 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()

sWd28資訊網(wǎng)——每日最新資訊28at.com

https://plotly.com/python/sunburst-charts/sWd28資訊網(wǎng)——每日最新資訊28at.com

3. 六邊形箱圖(Hexbin Plot)

sWd28資訊網(wǎng)——每日最新資訊28at.com

六邊形箱圖(通常稱為六邊形分箱圖或六邊形熱力圖)是一種非常有效的可視化工具,用于展示二維數(shù)據(jù)分布,尤其是在數(shù)據(jù)點(diǎn)過于密集而導(dǎo)致傳統(tǒng)散點(diǎn)圖難以區(qū)分單個(gè)點(diǎn)的情況下。這種方法將數(shù)據(jù)空間劃分為一系列六邊形單元(或“箱”),并根據(jù)每個(gè)單元中的數(shù)據(jù)點(diǎn)數(shù)量進(jìn)行著色,從而提供了數(shù)據(jù)分布情況的直觀表示。sWd28資訊網(wǎng)——每日最新資訊28at.com

以下是一個(gè)使用Python和Matplotlib庫創(chuàng)建六邊形分箱圖的示例,旨在揭示空氣質(zhì)量惡化(使用空氣質(zhì)量指數(shù)/AQI)與增加的醫(yī)院就診之間的潛在相關(guān)性。請注意,為了簡化示例,我們將使用模擬數(shù)據(jù)。sWd28資訊網(wǎng)——每日最新資訊28at.com

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

sWd28資訊網(wǎng)——每日最新資訊28at.com

https://matplotlib.org/stable/gallery/statistics/hexbin_demo.htmlsWd28資訊網(wǎng)——每日最新資訊28at.com

4. 桑基圖(Sankey Diagram)

桑基圖(Sankey Diagram),也被稱為?;芰糠至鲌D或?;芰科胶鈭D,是一種特殊類型的流程圖,特別適用于展示能源、材料成分、金融等領(lǐng)域中數(shù)據(jù)流量的可視化分析。這一圖表類型的命名源于1898年Matthew Henry Phineas Riall Sankey所繪制的“蒸汽機(jī)的能源效率圖”,該圖因其直觀展示能量流動的方式而廣受贊譽(yù),并因此得名“?;鶊D”。sWd28資訊網(wǎng)——每日最新資訊28at.com

?;鶊D通過節(jié)點(diǎn)和它們之間的鏈接來表示系統(tǒng)不同階段或部分之間數(shù)量的流動。節(jié)點(diǎn)通常表示系統(tǒng)中的不同部分或階段,而鏈接則表示這些部分或階段之間的流動關(guān)系。最為獨(dú)特的是,桑基圖中鏈接的寬度直接與流動的數(shù)量成比例,使得數(shù)據(jù)的規(guī)模和流向一目了然。sWd28資訊網(wǎng)——每日最新資訊28at.com

通過這種直觀的數(shù)據(jù)可視化方式,桑基圖可以幫助用戶更好地理解系統(tǒng)中各部分之間的能量、物質(zhì)或資金的流動情況,從而有助于做出更明智的決策。在能源、材料科學(xué)、經(jīng)濟(jì)學(xué)和金融學(xué)等領(lǐng)域,?;鶊D已經(jīng)成為一種不可或缺的數(shù)據(jù)分析工具。sWd28資訊網(wǎng)——每日最新資訊28at.com

sWd28資訊網(wǎng)——每日最新資訊28at.com

Plotly庫可以用來創(chuàng)建如下所示的桑基圖。以下代碼表示能量從生產(chǎn)源流向小城市的消費(fèi)者。sWd28資訊網(wǎng)——每日最新資訊28at.com

import plotly.graph_objects as golabels = ["Coal", "Solar", "Wind", "Nuclear", "Residential", "Industrial", "Commercial"]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] # Create the Sankey diagram objectfig = 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="Energy Flow in Model City", font_size=12)fig.show()

sWd28資訊網(wǎng)——每日最新資訊28at.com

https://plotly.com/python/sankey-diagram/sWd28資訊網(wǎng)——每日最新資訊28at.com

5. 主題河流圖(Stream Graph/ Theme River)

主題河流圖,顧名思義,其形態(tài)宛如自然界的河流,實(shí)際上它是一種獨(dú)具匠心的流圖設(shè)計(jì)。這種圖表主要用于描繪事件或主題隨時(shí)間而發(fā)生的動態(tài)變化。河流圖中,不同的顏色巧妙地區(qū)分了各個(gè)類別,或用以展示每個(gè)類別的附加定量信息。而河流的流向則與橫貫圖表的X軸平行,清晰映射出時(shí)間的流逝。sWd28資訊網(wǎng)——每日最新資訊28at.com

更為精妙的是,每個(gè)類別的數(shù)值大小通過“河流”的寬度來直觀展現(xiàn)。當(dāng)某一類別的數(shù)值增大時(shí),其對應(yīng)的河流部分便會拓寬;而當(dāng)數(shù)值減小,河流則相應(yīng)地變窄。這種變化使得整個(gè)圖表仿佛是由無數(shù)條寬窄不一的河流匯集、交織而成,從而得名“主題河流圖”。這種設(shè)計(jì)不僅富有美感,更能讓觀察者一目了然地掌握數(shù)據(jù)的變化趨勢和相互關(guān)系。sWd28資訊網(wǎng)——每日最新資訊28at.com

sWd28資訊網(wǎng)——每日最新資訊28at.com

Altair數(shù)據(jù)可視化庫可用于繪制流圖,如下所示。sWd28資訊網(wǎng)——每日最新資訊28at.com

import altair as altfrom vega_datasets import datasource = data.unemployment_across_industries.urlalt.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()

sWd28資訊網(wǎng)——每日最新資訊28at.com

https://altair-viz.github.io/gallery/streamgraph.htmlsWd28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-90032-0.html高大上!五個(gè)python高級可視化圖表!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 華為云數(shù)據(jù)安全體系技術(shù)創(chuàng)新論壇圓滿落幕,攜手多方共繪數(shù)據(jù)安全新藍(lán)圖

下一篇: 編程語言 Kotlin 2.0.0 現(xiàn)已發(fā)布,K2 編譯器進(jìn)入穩(wěn)定狀態(tài)

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 海原县| 遵义县| 郁南县| 九寨沟县| 龙川县| 阿克苏市| 揭阳市| 苏尼特左旗| 晋城| 剑阁县| 莱阳市| 南丰县| 浮山县| 察隅县| 泰来县| 双峰县| 涿州市| 上杭县| 苏州市| 华宁县| 新营市| 任丘市| 涿州市| 广西| 库车县| 永胜县| 福海县| 五莲县| 泰宁县| 庄河市| 易门县| 东宁县| 香河县| 昌乐县| 舟曲县| 娄底市| 平利县| 常德市| 新兴县| 天峻县| 岫岩|