python-高維數據型圖表--熱力圖、樹形圖

2021-01-14 益添與書

熱力圖熱力圖(heat map)

一種將規則化矩陣數據轉換成顏色色調的常用的可視化方法;

每個單元對應數據的某些屬性;

屬性的值通過顏色映射轉換為不同色調並填充規則單元;

表格坐標的排列和順序都可以通過參數控制;

適合的坐標排列和順序可以很好地發現數據的不同性質;

繪製熱力圖樹形圖(dendrogram)

表示連續合併的每對磊之間的屬性距離的示意圖;

示意圖將以圖形的方式進行排布;

使得要合併的每對類的成員在示意圖中相鄰;

樹形圖工具採用層次聚類算法;

先計算輸入的特徵文件中每對類之間的距離;

再迭代式地合併最近的一對類;

完成後續合併下一對最近的類;

直到合併完所有的類;

在每次合併後,每對類之間的距離會進行更新;

合併類特徵時採用的距離將用於構建樹形圖;

樹形圖分類:繪製橫向樹形圖

SciPy包的dendrogram()函數可以根據數據繪製樹形圖;

其中當orientation='top'時,繪製縱向樹形圖;

參數orientation='left'時,繪製橫向樹形圖;

熱力圖

import matplotlib.pyplot as plt

import pandas as pd

import seaborn as sns

from plotnine.data import mtcars

from sklearn.preprocessing import scale


sns.set_style("white")

sns.set_context("notebook", font_scale=1.5,

rc={'axes.labelsize': 17, 'legend.fontsize':17,

'xtick.labelsize': 15,'ytick.labelsize': 10})


df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )


#熱力圖

fig=plt.figure(figsize=(7, 7),dpi=80)

sns.heatmap(df, center=0, cmap="RdYlBu_r",

linewidths=.15,linecolor='k')

#sns.set()

plt.savefig('heatmap2.pdf')

帶層次聚類的熱力圖

import matplotlib.pyplot as plt

import pandas as pd

import seaborn as sns

from plotnine.data import mtcars

from sklearn.preprocessing import scale


sns.set_style("white")

sns.set_context("notebook", font_scale=1.5,

rc={'axes.labelsize': 17, 'legend.fontsize':17,

'xtick.labelsize': 15,'ytick.labelsize': 10})


df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )




#帶層次聚類的熱力圖.

sns.clustermap(df, center=0, cmap="RdYlBu_r",

linewidths=.15,linecolor='k', figsize=(8, 8))

plt.savefig('heatmap1.pdf')

橫向樹形圖

import scipy.cluster.hierarchy as shc

import numpy as np

from matplotlib import cm,colors

from matplotlib import pyplot as plt

import pandas as pd

from plotnine.data import mtcars

from sklearn.preprocessing import scale

plt.rcParams['axes.facecolor']='w'

plt.rc('axes',axisbelow=True)



df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )


#橫向樹形圖


fig=plt.figure(figsize=(10, 10), dpi= 80)

dend = shc.dendrogram(shc.linkage(df,method='ward'), orientation='left',

labels=df.index.values, color_threshold=5

)

plt.xticks(fontsize=13,rotation=0)

plt.yticks(fontsize=14)



ax = plt.gca()

ax.spines['left'].set_color('none')

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('k')

ax.spines['bottom'].set_color('k')


#plt.savefig('樹狀圖1.pdf')

plt.show()

縱向樹形圖

import scipy.cluster.hierarchy as shc

import numpy as np

from matplotlib import cm,colors

from matplotlib import pyplot as plt

import pandas as pd

from plotnine.data import mtcars

from sklearn.preprocessing import scale

plt.rcParams['axes.facecolor']='w'

plt.rc('axes',axisbelow=True)



df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )




#縱向樹形圖

fig=plt.figure(figsize=(5, 5), dpi= 80)


dend = shc.dendrogram(shc.linkage(df.values.T,method='ward'), orientation='top',

labels=df.columns.values, color_threshold=5,

)

plt.xticks(fontsize=13,rotation=0)

plt.yticks(fontsize=14)



ax = plt.gca()

ax.spines['left'].set_color('k')

ax.spines['right'].set_color('k')

ax.spines['top'].set_color('none')

ax.spines['bottom'].set_color('none')


#plt.savefig('樹狀圖2.pdf')

plt.show()


相關焦點

  • 數據可視化最有價值的50個圖表 | 網際網路數據資訊網-199IT | 中文...
    在數據分析和可視化中最有用的 50 個 Matplotlib 圖表。 這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。這些圖表根據可視化目標的7個不同情景進行分組。 例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。 或者,如果您想要顯示值如何隨時間變化,請查看「變化」部分,依此類推。
  • 數據可視化之旅(三):數據圖表的選擇(中)
    作者 | Destiny 來源 | 木東居士 0x00 前言數據圖表的選擇(上),分享了「時序數據」和「比例數據」的可視化圖表方案。不同的數據類型、不同的闡述目的,決定了數據可視化展現形式的差異。因此,今天這篇文章,主要是分享兩類不同的可視化目的及其可選擇的圖表形式。「對比型數據」:對比兩組或兩組以上數據的差異。
  • 熱力圖:用顏色可視化數據分布告訴你!| 圖表...
    標準的熱力圖將兩個連續數據分別映射到 x、y 軸,第三個連續數據映射到顏色。一種形象的定義是,熱力圖是三維柱狀圖的俯視圖。     每個圖表背後都有一段歷史,熱力圖也不例外。  「熱力圖」一詞的誕生最早追溯到1991年,由軟體設計師Cormac Kinney提出並註冊,當時用來實時顯示一個2D金融市場的信息。
  • 數據可視化當中的圖表組合:比例面積圖
    編輯導讀:優秀的數據可視化依賴優異的設計,並非僅僅選擇正確的圖表模板那麼簡單,數據可視化可以幫助用戶更好地理解數據、運用數據。本文作者從自身經驗出發,結合具體案例分享了比例面積圖的不同組合形式,供大家一同參考學習。
  • 精心整理4大類12個圖表類型,輕鬆搞定數據可視化
    科技的進步讓我們積累了越來越多的數據,如何更好的利用這些數據,將它們轉化為有用的信息並驅動我們作出更好的決策,關鍵在於將它們可視化。但是,即便科技再進步,可視化工具再精益,也無法遏制劣質圖表的泛濫。因為很多人並不知道該如何從那麼多類型的圖表中,選擇最適合的一種來表達數據。
  • 支持199IT發展可加入知識交流群(10K+用戶),最有價值數據分享!點擊...
    在數據分析和可視化中最有用的 50 個 Matplotlib 圖表。 這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。這些圖表根據可視化目標的7個不同情景進行分組。 例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。
  • 數據科學的Python軟體包
    巨大的社區支持Python具有廣泛的社區支持之一,在dev op社區上存在各種活躍的論壇,python開發人員在該論壇上發布他們的錯誤,而社區則試圖幫助他們。各種用於數據科學的Python庫到目前為止,我們已經介紹了什麼是數據科學以及為什麼要使用Python,現在讓我們討論可用於數據科學的各種python庫。1.
  • 5個可以幫助pandas進行數據預處理的可視化圖表
    只要圖中沒有人口稠密的數據點,獲得一個洞察力是非常有幫助的。在下面的代碼中,我們繪製了「mpg」數據集中「Horsepower」 和「Acceleration」數據點之間的散點圖。在下面的代碼中,我們將計算seaborn「mpg」數據集中所有變量之間的成對相關性,並將其繪製為熱力圖。 熱力圖是我個人最喜歡查看不同變量之間的相關性。那些在媒體上跟蹤我的人可能已經注意到我經常使用它。在下面的代碼中,我們將計算seaborn「mpg」數據集中所有變量之間的成對相關性,並將其繪製為熱力圖。
  • 超硬核的 Python 數據可視化教程!
    matplotlibpython中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展。在python中,我們可以總結為以下四種基本視覺元素來展現圖形:點:scatter plot 二維數據,適用於簡單二維關係; 線:line plot 二維數據
  • 這10個python數據可視化庫,通吃任何領域
    Bokeh還支持流媒體和實時數據。Bokeh提供了三個具有不同控制級別的接口,以適應不同的用戶類型。最高級別是快速創建圖表。它包括創建常見圖表的方法,如條形圖、方框圖和柱狀圖。中間層與matplotlib具有相同的特性,允許你控制每個圖表的基本構建塊(例如散點圖中的點)。
  • 不知道用什麼圖表展示數據?看這份圖表選擇指南就夠了
    2001年客戶市場份額少於整個行業的10%佔據公司資金的半數的兩個渠道你的主題中只要包括如下詞彙如:份額、佔比、總數百分比、佔百分比多少等字樣時,可以肯定你是在製作一個構成的對比關係圖表。構成對比關係的常用圖表有如下幾個:餅圖:餅圖是一個劃分為幾個扇形的圓形統計圖表,通常用來展現數據的分類和佔比情況。
  • 如何構建一個基於可視化理論的完美Python圖表?
    信息展示的支柱圖表的完整性這代表演示的真實性。通過確保正確縮放坐標軸並反映趨勢,可以如實地解釋數據。從長遠來看,真實總是更有價值。每個人都至少目睹過一個帶有非線性y軸的圖,以使假設看起來更有說服力——請發誓永遠不會這樣做。圖表的卓越性這代表演示的質量。通過刪除多餘的形狀、分散的顏色和不一致的字體,可以更好地查看數據。
  • Python數據可視化實例之繪製圖表
    Python數據可視化實例之繪製圖表原創 蟲蟲安全 2018-09-05 17:41:57得利於語言的簡單明了、豐富的數據結構、豐富的類和模塊,Python如今成了數據科學中的香餑餑,成了matlab、R語言之外又一強大的數據分析工具。拋開其他方面的、今天蟲蟲帶大家一起來探索Python在數據可視化方面的應用。
  • Excel中的熱力圖,原來一鍵就搞定了
    我們做了很多的圖表,突然發現我們最常使用的單元格不僅可以編輯內容,也可以製作出不一樣的圖表,設計條件格式就是其中之一。今天就利用條件格式製作一個熱力圖。所謂熱力圖,通俗的理解是根據數值規律設定成既定顏色,通過顏色的冷暖來判斷數值的大小。
  • 熱力圖在可視化設計中的應用
    此外,熱力圖還能幫助我們解決很多問題,本文想和大家討論下熱力圖在可視化設計中的應用一、什麼是熱力圖首先我們需要對熱力圖做一個定義,熱力圖是數據在頁面上密度、分布以及變化的體現,通過選擇不同的顏色來對應不同的數據區間;將數據量大小轉化成顏色差異,圖形化表達了業務場景下的數據差異,幫助用戶了解真實的數據量分布情況和規律,為用戶決策提供數據依據。
  • 基於Python的數據可視化庫pyecharts介紹
    pyecharts 是一個用於生成 Echarts 圖表的類庫。 echarts 是百度開源的一個數據可視化 JS 庫,主要用於數據可視化。pyecharts 是一個用於生成 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。使用 pyecharts 可以生成獨立的網頁,也可以在 flask , Django 中集成使用。
  • 技能分享|Python數據可視化利器:Seaborn使用方法(一)
    本篇我們的主題是數據可視化的利器——seaborn庫的使用。Seaborn是基於matplotlib,在matplotlib的基礎上進行了更高級的API封裝,便於用戶可以更加簡便地做出各種有吸引力的統計圖表。
  • B端互動設計——數據可視化圖表
    上圖引導我們從「聯繫、分布、比較、構成」四個維度更有邏輯的思考這個問題,我們在進行圖表設計時首先進行需求的分析,熟悉數據並且明確數據要展現出來的信息,然後選用合適的圖表來進行數據的展現。  聯繫:數據之間的相關性;分布:指標裡的數據主要集中在什麼範圍、表現出怎樣的規律;比較:數據之間存在何種差異、差異主要體現在哪些方面;構成:指標裡的數據都由哪幾部分組成、每部分佔比如何;  考慮到日常企業的數據分析場景,圖中有些圖表使用頻率是非常低的。所以我參考了上圖的部分內容,對其進行了總結,重新整合成三個維度:
  • Excel中製作「熱力地圖」竟如此簡單,財務分析又多一種圖表
    做財務的,經常會涉及到各種各樣的財務分析,所以製作分析報表是常有的事情,但是有的時候公司會有分公司,所以會涉及到一些不同地區的數據分析,分析起來會比較難。比如各省份,某省份的各個市縣相關,可以從地緣角度去分析數據。本期內容主要講解基於地緣信息進行分析常用的一種圖表——熱力地圖。
  • 數據可視化圖表的使用方式及最佳做法,你用對了嗎?
    編輯導語:我們在工作中經常會用到數據,如今為了更加方便的數據圖表,一些企業採用數據可視化圖表,製作數據可視化大屏;本文作者介紹了數據可視化圖表的使用方式以及最佳做法,我們一起來學習一下。