一、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