python繪製數據熱度圖(python熱力圖怎麼分析)

本文目錄一覽:

Python熱力圖繪製方法—新手教程

# Python熱力圖繪製方法

熱力圖的使用場景有 

1.描述數據在空間的密集程度,常見有城市熱力圖,區域熱力圖

2.描述多個變量之間相關性高低程度

# step 1 準備數據集,讀取excel列表內容,usecols = index, 這裡是表裡的第一列不讀取。

index =range(1, 11)

dataset = np.array(pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=index))

# step 2  讀取excel行索引轉成列表,作為熱力圖的y軸標籤

a = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=[0]))

y_label =list(a.stack())

# step 3 讀取excel列索引轉成列表,作為熱力圖的x軸標籤

b = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’))

column_index=(b.columns.tolist())

x_label = column_index[1:]

# 這一步是為了計算熱力圖的數據的最大值,可以進行標準化處理,也可以直接顯示數據,dataframe轉成list,從list裏面尋找最大值

dataset_max = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=index))

list1 = np.array(dataset_max.stack())

max_number =max(list1)

# step 4 開始繪製熱力圖

plt.figure(figsize=(14, 8))# 定義輸出圖像大小,annot參數決定是否在熱力圖上顯示數值,Vmax,Vmin表示最大最小值,cmap表示顏色

sns.heatmap(dataset, fmt=’.0f’, annot=True, vmin=0, vmax=max_number, cmap=’Reds’, yticklabels=y_label,

            xticklabels=x_label)

# 繪製標籤

plt.xlabel(‘This is x label’, labelpad=15)

plt.ylabel(‘This is y label’, labelpad=20)

plt.show()

Python 數據可視化:繪製箱線圖、餅圖和直方圖

上一課介紹了柱形圖和條形圖,本課將介紹另外幾種統計圖表。

Box Plot 有多種翻譯,盒須圖、盒式圖、盒狀圖或箱線圖、箱形圖等,不管什麼名稱,它的基本結構是這樣的:

這種圖是由美國著名統計學家約翰·圖基(John Tukey)於 1977 年發明的,它能顯示出一組數據的上限、下限、中位數及上下四分位數。

為了更深入理解箱線圖的含義,假設有這樣一組數據:[1, 3, 5, 8, 10,11, 16, 98 ],共有 8 個數字。

首先要計算箱線圖中的「四分位數」,注意不是 4 個數:

對於已經排序的數據 [1, 3, 5, 8, 10,11, 16, 98 ],下四分位數(Q1)的位置是數列中從小到大第 2.25 個數,當然是不存在這個數字的——如果是第 2 個或者第 3 個,則存在。但是,可以用下面的原則,計算出此位置的數值。

四分位數等於與該位置兩側的兩個整數的加權平均數,此權重取決於相對兩側整數的距離遠近,距離越近,權重越大,距離越遠,權重越小,權數之和等於 1。

根據這個原則,可以分別計算本例中數列的 3 個四分位數。

在此計算基礎上,還可以進一步計算四分位間距和上限、下限的數值。

先看一個簡單示例,了解基本的流程。

輸出結果:

這裡繪製了兩張箱線圖,一張沒有顯示平均值,另外一張顯示了平均值,所使用的方法就是 boxplot,其完整參數列表為:

參數很多,不要擔心記憶問題,更別擔心理解問題。首先很多參數都是可以「望文生義」的,再有,與以前所使用的其他方法(函數)的參數含義也大同小異。

輸出結果:

所謂的「凹槽」,不是簡單形狀的改變,左右折線的上限區間表示了數據分佈的置信區間,橫線依然是上限和下限。

Python實操:手把手教你用Matplotlib把數據畫出來

作者:邁克爾·貝耶勒(Michael Beyeler)

如需轉載請聯繫華章 科技

如果已安裝Anaconda Python版本,就已經安裝好了可以使用的 Matplotlib。否則,可能要訪問官網並從中獲取安裝說明:

正如使用np作為 NumPy 的縮寫,我們將使用一些標準的縮寫來表示 Matplotlib 的引入:

在本書中,plt接口會被頻繁使用。

讓我們創建第一個繪圖。

假設想要畫出正弦函數sin(x)的線性圖。得到函數在x坐標軸上0≤x<10內所有點的值。我們將使用 NumPy 中的 linspace 函數來在x坐標軸上創建一個從0到10的線性空間,以及100個採樣點:

可以使用 NumPy 中的sin函數得到所有x點的值,並通過調用plt中的plot函數把結果畫出來:

你親自嘗試了嗎?發生了什麼嗎?有沒有什麼東西出現?

實際情況是,取決於你在哪裡運行腳本,可能無法看到任何東西。有下面幾種可能性:

1. 從.py腳本中繪圖

如果從一個腳本中運行 Matplotlib,需要加上下面的這行調用:

在腳本末尾調用這個函數,你的繪圖就會出現!

2. 從 IPython shell 中繪圖

這實際上是交互式地執行Matplotlib最方便的方式。為了讓繪圖出現,需要在啟動 IPython 後使用所謂的%matplotlib魔法命令。

接下來,無須每次調用plt.show()函數,所有的繪圖將會自動出現。

3. 從 Jupyter Notebook 中繪圖

如果你是從基於瀏覽器的 Jupyter Notebook 中看這段代碼,需要使用同樣的%matplotlib魔法命令。然而,也可以直接在notebook中嵌入圖形,這會有兩種輸出選項:

在本書中,將會使用inline選項:

現在再次嘗試一下:

上面的命令會得到下面的繪圖輸出結果:

如果想要把繪圖保存下來留作以後使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:

僅需要確保你使用了支持的文件後綴,比如.jpg、.png、.tif、.svg、.eps或者.pdf。

作為本章最後一個測試,讓我們對外部數據集進行可視化,比如scikit-learn中的數字數據集。

為此,需要三個可視化工具:

那麼開始引入這些包吧:

第一步是載入實際數據:

如果沒記錯的話,digits應該有兩個不同的數據域:data域包含了真正的圖像數據,target域包含了圖像的標籤。相對於相信我們的記憶,我們還是應該對digits稍加 探索 。輸入它的名字,添加一個點號,然後按Tab鍵:digits.TAB,這個操作將向我們展示digits也包含了一些其他的域,比如一個名為images的域。images和data這兩個域,似乎簡單從形狀上就可以區分。

兩種情況中,第一維對應的都是數據集中的圖像數量。然而,data中所有像素都在一個大的向量中排列,而images保留了各個圖像8×8的空間排列。

因此,如果想要繪製出一副單獨的圖像,使用images將更加合適。首先,使用NumPy的數組切片從數據集中獲取一幅圖像:

這裡是從1797個元素的數組中獲取了它的第一行數據,這行數據對應的是8×8=64個像素。下面就可以使用plt中的imshow函數來繪製這幅圖像:

上面的命令得到下面的輸出:

此外,這裡也使用cmap參數指定了一個顏色映射。默認情況下,Matplotlib 使用MATLAB默認的顏色映射jet。然而,在灰度圖像的情況下,gray顏色映射更有效。

最後,可以使用plt的subplot函數繪製全部數字的樣例。subplot函數與MATLAB中的函數一樣,需要指定行數、列數以及當前的子繪圖索引(從1開始計算)。我們將使用for 循環在數據集中迭代出前十張圖像,每張圖像都分配到一個單獨的子繪圖中。

這會得到下面的輸出結果:

關於作者:Michael Beyeler,華盛頓大學神經工程和數據科學專業的博士後,主攻仿生視覺計算模型,用以為盲人植入人工視網膜(仿生眼睛),改善盲人的視覺體驗。 他的工作屬於神經科學、計算機工程、計算機視覺和機器學習的交叉領域。同時他也是多個開源項目的積極貢獻者。

本文摘編自《機器學習:使用OpenCV和Python進行智能圖像處理》,經出版方授權發佈。

python–seaborn熱力圖

熱力圖的一個常見應用場景是繪製相關係數熱力圖,數據準備一個相關係數矩陣。

調用 heatmap 方法繪製熱力圖。

設置 vmin 和 vmax 參數可以調整調色板的下限值和上限值。

設置 cmap 參數,可以修改調色板樣式。

設置參數 cbar=False 可以隱藏圖例。

設置參數 annot=True 可以顯示熱力圖上的具體數值,設置 fmt 參數,可以修改數值顯示的樣式。

Python中除了matplotlib外還有哪些數據可視化的庫

數據可視化是展示數據、理解數據的有效手段,常用的Python數據可視化庫如下:

1.Matplotlib:第一個Python可視化庫,有許多別的程序庫都是建立在其基礎上或者直接調用該庫,可以很方便地得到數據的大致信息,功能非常強大,但也非常複雜。

2.Seaborn:利用Matplotlib,用簡潔的代碼來製作好看的圖表,與Matplotlib最大的區別為默認繪圖風格和色彩搭配都具有現代美感。

3.ggplot:基於R的一個作圖庫的ggplot2,同時利用了源於《圖像語法》中的概念,允許疊加不同的圖層來完成一幅圖,並不適用於製作非常個性化的圖像,為操作的簡潔度而犧牲了圖像的複雜度。

4.Bokeh:與ggplot很相似,但與ggplot不同之處為它完全基於Python而不是從R處引用。長處在於能用於製作可交互、可直接用於網絡的圖表。圖表可以輸出為JSON對象、HTML文檔或者可交互的網絡應用。

5.Plotly:可以通過Python notebook使用,與bokeh一樣致力於交互圖表的製作,但提供在別的庫中幾乎沒有的幾種圖表類型,如等值線圖、樹形圖和三維圖表。

6.pygal:與Bokeh和Plotly一樣,提供可直接嵌入網絡瀏覽器的可交互圖像。與其他兩者的主要區別在於可將圖表輸出為SVG格式,所有的圖表都被封裝成方法,且默認的風格也很漂亮,用幾行代碼就可以很容易地製作出漂亮的圖表。

7.geoplotlib:用於製作地圖和地理相關數據的工具箱。可用來製作多種地圖,比如等值區域圖、熱度圖、點密度圖等,必須安裝Pyglet方可使用。

8.missingno:用圖像的方式快速評估數據缺失的情況,可根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖對數據進行修正。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236704.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:01
下一篇 2024-12-12 12:01

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論