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

當前位置:首頁 > 科技  > 軟件

高大上!五個python高級可視化圖表!

來源: 責編: 時間:2024-05-22 17:09:34 199觀看
導讀1. 和弦圖(Chord Diagram)和弦圖,作為一種數據可視化工具,獨具匠心地展示了數據間的復雜關系。在圖表中,節點井然有序地分布于圓周之上,點與點之間則以優雅的弧線相互連接,這些弧線不僅揭示了數據間的內在聯系,還通過其長度的

1. 和弦圖(Chord Diagram)

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

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

ygH28資訊網——每日最新資訊28at.com

以下示例代碼使用Holoviews & Bokeh創建和弦圖,展示5個不同國家之間的貿易關系。ygH28資訊網——每日最新資訊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

ygH28資訊網——每日最新資訊28at.com

https://holoviews.org/reference/elements/matplotlib/Chord.htmlygH28資訊網——每日最新資訊28at.com

https://github.com/moshi4/pyCirclizeygH28資訊網——每日最新資訊28at.com

2. 旭日圖(Sunburst Chart)

旭日圖(Sunburst Chart)以其獨特的視覺呈現方式,超越了傳統的餅圖和環圖,能夠清晰地表達數據的層級和歸屬關系。它通過父子層次結構來展示數據的構成情況,使用戶能夠輕松理解和分析復雜的層次數據。ygH28資訊網——每日最新資訊28at.com

旭日圖由多個環形組成,每個環形都代表著層次結構中的一個不同級別。圖表的中心是層次結構的根或頂層,象征著數據的起點。每個環上的每個部分或扇區則代表著該層次結構中的一個具體節點,而每個部分/扇區的大小則與其在兄弟節點中的相對值成比例,直觀地反映了數據的重要性。ygH28資訊網——每日最新資訊28at.com

旭日圖在多個領域中都展現出了其強大的數據可視化能力,如計算機文件系統的層級結構、網站用戶的導航路徑、市場細分數據的層級關系以及復雜的基因組數據等。這些應用場景都通過旭日圖得以清晰、直觀地呈現,幫助用戶快速理解數據的內在結構和邏輯關系。ygH28資訊網——每日最新資訊28at.com

下面是一段使用Python庫Plotly繪制旭日圖的示例代碼,您可以通過這段代碼輕松創建出具有豐富層次結構和數據信息的旭日圖。ygH28資訊網——每日最新資訊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()

ygH28資訊網——每日最新資訊28at.com

https://plotly.com/python/sunburst-charts/ygH28資訊網——每日最新資訊28at.com

3. 六邊形箱圖(Hexbin Plot)

ygH28資訊網——每日最新資訊28at.com

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

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

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

ygH28資訊網——每日最新資訊28at.com

https://matplotlib.org/stable/gallery/statistics/hexbin_demo.htmlygH28資訊網——每日最新資訊28at.com

4. 桑基圖(Sankey Diagram)

桑基圖(Sankey Diagram),也被稱為桑基能量分流圖或桑基能量平衡圖,是一種特殊類型的流程圖,特別適用于展示能源、材料成分、金融等領域中數據流量的可視化分析。這一圖表類型的命名源于1898年Matthew Henry Phineas Riall Sankey所繪制的“蒸汽機的能源效率圖”,該圖因其直觀展示能量流動的方式而廣受贊譽,并因此得名“桑基圖”。ygH28資訊網——每日最新資訊28at.com

桑基圖通過節點和它們之間的鏈接來表示系統不同階段或部分之間數量的流動。節點通常表示系統中的不同部分或階段,而鏈接則表示這些部分或階段之間的流動關系。最為獨特的是,桑基圖中鏈接的寬度直接與流動的數量成比例,使得數據的規模和流向一目了然。ygH28資訊網——每日最新資訊28at.com

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

ygH28資訊網——每日最新資訊28at.com

Plotly庫可以用來創建如下所示的桑基圖。以下代碼表示能量從生產源流向小城市的消費者。ygH28資訊網——每日最新資訊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()

ygH28資訊網——每日最新資訊28at.com

https://plotly.com/python/sankey-diagram/ygH28資訊網——每日最新資訊28at.com

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

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

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

ygH28資訊網——每日最新資訊28at.com

Altair數據可視化庫可用于繪制流圖,如下所示。ygH28資訊網——每日最新資訊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()

ygH28資訊網——每日最新資訊28at.com

https://altair-viz.github.io/gallery/streamgraph.htmlygH28資訊網——每日最新資訊28at.com

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 華為云數據安全體系技術創新論壇圓滿落幕,攜手多方共繪數據安全新藍圖

下一篇: 編程語言 Kotlin 2.0.0 現已發布,K2 編譯器進入穩定狀態

標簽:
  • 熱門焦點
  • 5月iOS設備好評榜:iPhone 14僅排第43?

    來到新的一月,安兔兔的各個榜單又重新匯總了數據,像安卓陣營的榜單都有著比較大的變動,不過iOS由于設備的更新換代并沒有那么快,所以相對來說變化并不大,特別是iOS好評榜,老款設
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 簽約井川里予、何丹彤,單視頻點贊近千萬,MCN黑馬永恒文希快速崛起!

    來源:視聽觀察永恒文希傳媒作為一家MCN公司,說起它的名字來,可能大家會覺得有點兒陌生,但是說出來下面一串的名字之后,或許大家就會感到震驚,原來這么多網紅,都簽約這家公司了。根
  • 三星Galaxy Z Fold5今日亮相:厚度縮減但仍略顯厚重

    據官方此前宣布,三星將于7月26日也就是今天在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 聯想小新Pad Pro 12.6將要推出,搭載高通驍龍 870 處理器

    聯想小新Pad Pro 12.6將于秋季新品會上推出,官方按照慣例直接在發布會前給出了機型的所有參數。聯想小新 Pad Pro 12.6 將搭載高通驍龍 870 處理器,重量為 5
Top 主站蜘蛛池模板: 新民市| 抚远县| 高州市| 大新县| 铜鼓县| 谢通门县| 灵武市| 肃北| 蓬溪县| 永仁县| 孝昌县| 聊城市| 商水县| 大丰市| 南充市| 无极县| 绵竹市| 沿河| 夏津县| 武鸣县| 同仁县| 德庆县| 祁东县| 怀宁县| 仪陇县| 大英县| 怀集县| 华安县| 嘉禾县| 道真| 龙口市| 三台县| 怀集县| 华池县| 宜州市| 黑山县| 景宁| 上蔡县| 司法| 米易县| 辽宁省|