Python繪製熱力圖

一、Python繪製熱力圖代碼

Python繪製熱力圖的代碼有很多種,這裡介紹兩種較為常用的方法。

方法1:使用Seaborn庫

import seaborn as sns
import matplotlib.pyplot as plt

# 構造數據
data = np.random.rand(10,10)

# 繪製熱力圖
sns.heatmap(data, cmap = "YlGnBu")

plt.show()

方法2:使用Matplotlib庫

import matplotlib.pyplot as plt
import numpy as np

# 構造數據
data = np.random.rand(10,10)

# 繪製熱力圖
plt.imshow(data, cmap = 'hot', interpolation = 'nearest') 

plt.show()

以上兩種方法中,Seaborn庫的代碼更加簡潔,但Matplotlib庫的繪圖效果更加豐富。

二、Python繪製熱力圖設置坐標

Python繪製熱力圖時,往往需要對坐標進行設置,包括橫軸和縱軸的標籤、刻度、範圍等。

import seaborn as sns
import matplotlib.pyplot as plt

# 構造數據
data = np.random.rand(10,10)

# 繪製熱力圖
sns.heatmap(data, cmap = "YlGnBu", xticklabels = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
            yticklabels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"], vmin = 0, vmax = 1)

plt.xlabel('Label X', fontsize = 12)
plt.ylabel('Label Y', fontsize = 12)

plt.show()

在上述代碼中,我們設置了橫軸和縱軸的標籤為”Label X”和”Label Y”,對應的刻度為”a”到”j”和”1″到”10″,同時設置了數據範圍為0到1。

三、Python畫熱力圖代碼

Python畫熱力圖可以藉助Pandas庫中的DataFrame對象來進行,具體代碼如下:

import pandas as pd
import matplotlib.pyplot as plt

# 構造數據
data_dict = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12], "D": [13, 14, 15, 16]}
data = pd.DataFrame(data_dict)

# 繪製熱力圖
plt.imshow(data, cmap = 'hot', interpolation = 'nearest')

plt.xticks(range(len(data.columns)), data.columns)
plt.yticks(range(len(data.index)), data.index)

plt.colorbar()

plt.show()

在上述代碼中,我們使用了Pandas的DataFrame對象來儲存數據,使用了plt.colorbar()函數來設置顏色刻度條。

四、Python導入數據畫熱力圖

除了手動生成數據,Python也可以從外部文件中導入數據進行熱力圖繪製。

import pandas as pd
import matplotlib.pyplot as plt

# 從CSV文件中讀取數據
data = pd.read_csv('data.csv', index_col = 0)

# 繪製熱力圖
plt.imshow(data, cmap = 'hot', interpolation = 'nearest')

plt.xticks(range(len(data.columns)), data.columns)
plt.yticks(range(len(data.index)), data.index)

plt.colorbar()

plt.show()

在上述代碼中,我們使用了Pandas庫中的read_csv函數來讀取數據,索引列為第0列。

五、Python熱力圖怎麼看

Python繪製的熱力圖通常顏色越深表示數值越大,顏色越淺表示數值越小。同時,我們還可以結合刻度條來觀察每個顏色對應的數值範圍。

在以下例子中,我們導入了一個真實的玉米產量數據,並繪製了熱力圖。

import pandas as pd
import seaborn as sns

# 從CSV文件中讀取數據
data = pd.read_csv('corn.csv', index_col = 0)

# 繪製熱力圖
sns.heatmap(data, cmap = 'YlGnBu', annot = True, fmt = '.1f')

plt.show()

通過觀察熱力圖,我們可以發現2004年、2012年以及2013年玉米產量最高,而2000年的玉米產量最低,且近幾年的玉米產量呈逐年上升之勢。

六、Python數據可視化熱力圖

Python中除了使用熱力圖來展示二維數據外,還可以使用三維熱力圖來展示三維或以上的數據。以下代碼演示了如何生成三維熱力圖:

import plotly.graph_objs as go
import plotly.offline as pyo
import pandas as pd
 
# 從CSV文件中讀取數據
data = pd.read_csv('food.csv')

# 繪製三維熱力圖
data_heatmap = go.Heatmap(z = data.iloc[:,2], x = data.iloc[:,0], y = data.iloc[:,1], colorbar=dict(title="Colorbar"))
 
layout = go.Layout(title = '3D Heatmap', )
fig = go.Figure(data=[data_heatmap], layout=layout)
 
pyo.plot(fig)

在上述代碼中,我們使用了Plotly庫來生成三維熱力圖,需要先通過pip install plotly進行安裝。同時,我們還需要使用Pandas庫來讀取數據。

七、Python繪製熱力圖的函數

在Python中,我們還可以編寫函數來繪製熱力圖,以方便後續使用。

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

def plot_heatmap(data, title, x_labels, y_labels, cmap):

    # 繪製熱力圖
    sns.heatmap(data, cmap = cmap)

    plt.title(title, fontsize  = 14)

    plt.xlabel('X Label', fontsize = 12)
    plt.xticks(np.arange(len(x_labels)) + 0.5, x_labels)
    
    plt.ylabel('Y Label', fontsize = 12)
    plt.yticks(np.arange(len(y_labels)) + 0.5, y_labels)

    plt.show()

# 調用函數繪製熱力圖
data = np.random.rand(10,10)
x_labels = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
y_labels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
title = "Heatmap Example"
cmap = "YlGnBu"

plot_heatmap(data, title, x_labels, y_labels, cmap)

在上述代碼中,我們定義了一個名為plot_heatmap的函數,並通過調用該函數來繪製熱力圖。在函數中,我們可以設置熱力圖的標題、標籤、顏色映射等。

八、Python繪製熱力圖的庫

Python中常用的繪製熱力圖的庫主要有Seaborn和Matplotlib。

Seaborn庫

Seaborn是基於Matplotlib的數據可視化庫,專門用於統計繪圖。使用Seaborn庫,我們可以輕鬆地繪製熱力圖、散點圖、線圖、條形圖等多種類型的圖表,並提供了豐富的自定義選項。

Matplotlib庫

Matplotlib是Python中最常用的數據可視化庫之一,可以繪製出各種類型的圖表,包括散點圖、線圖、條形圖、熱力圖等。Matplotlib庫具有豐富的自定義選項,允許用戶靈活地控制圖表的各個方面。

九、Python繪製熱力圖導入什麼

在Python中,繪製熱力圖需要導入以下庫:

  • Seaborn庫(可選):用於繪製熱力圖、設置顏色映射等
  • Matplotlib庫:用於繪製各種類型的圖表,包括熱力圖
  • Numpy庫(可選):用於生成隨機數據等
  • Pandas庫(可選):用於讀取外部文件、構造DataFrame等

可以根據實際需要導入相應的庫來繪製熱力圖。

十、Python繪製地圖熱力圖

除了對二維數據進行熱力圖繪製外,Python還可以對地圖數據進行熱力圖繪製。以下是一個簡單的地圖熱力圖繪製示例:

import folium
from folium.plugins import HeatMap

# 構造數據
locations = [[31.238068, 121.501654], [31.224632, 121.469796], [31.232673, 121.494752], [31.232585, 121.488436], [31.252121, 121.498117], 
             [31.228466, 121.455675], [31.223696, 121.454735], [31.246602, 121.461899], [31.239046, 121.469881], [31.191304, 121.589614],
             [31.159942, 121.364443], [31.392771, 121.410471], [31.220451, 121.547946], [31.19594, 121.618191], [31.24245, 121.505279], 
             [31.203624, 121.598726], [31.054153, 121.752955], [31.201554, 121.458754], [31.196121, 121.441206], [31.24693, 121.450372]]

# 繪製地圖
map_heatmap = folium.Map(location = [31.2317066, 121.4726406], zoom_start = 12)
HeatMap(locations).add_to(map_heatmap)

# 顯示地圖
map_heatmap

以上代碼使用了Folium庫來繪製地圖及熱力圖,需要先通過pip install folium進行安裝。通過構造locations列表並通過HeatMap函數來繪製熱力圖,並通過Folium庫將之嵌入到地圖中。

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

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

相關推薦

  • Python計算陽曆日期對應周幾

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

    編程 2025-04-29
  • Python列表中負數的個數

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

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

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

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

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

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

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

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

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

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

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

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

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

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論