欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python實現(xiàn)熱力圖的繪制

 更新時間:2022年09月15日 08:41:15   作者:趙卓不凡  
熱力圖,是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計圖表。繪圖時,需指定顏色映射的規(guī)則。本文主要用Python來實現(xiàn)熱力圖的制作,需要的可以參考一下

1. 引言

熱力圖,是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計圖表。繪圖時,需指定顏色映射的規(guī)則。例如,較大的值由較深的顏色表示,較小的值由較淺的顏色表示;較大的值由偏暖的顏色表示,較小的值由較冷的顏色表示,等等。

本文主要用Python來實現(xiàn)熱力圖的制作,樣例如下:

閑話少說,我們直接開始吧!

2. 讀取圖像

首先,我們來讀取樣例圖像,并對其進行相應(yīng)的crop操作。

樣例代碼如下:

import numpy as np 
import matplotlib.pyplot as plt
import skimage.io as io
img = plt.imread("butterfly-7320158_960_720.jpg")
# crop
img_cut = img[147:447,:,:]
plt.figure()
plt.imshow(img_cut)

運行后,得到結(jié)果如下:

3. 圖像灰度化

由于熱力圖主要用于可視化二維矩陣,所以我們需要將彩色圖轉(zhuǎn)化為灰度圖,代碼如下:

from skimage.color import rgb2gray
gray_img = rgb2gray(img_cut)
plt.imshow(gray_img,cmap='gray')

運行結(jié)果如下:

4. 像素化效果

這一步的操作主要是為了使圖像看起來像像素化的藝術(shù)品。我們首先將圖像劃分為非重疊block塊。我們將block塊的大小劃分的越大,像素化程度看起來越高。

對于每個block塊,我們計算該塊中一些代表值。在這里,我們可以使用整個塊的最小值,最大值或中值。這里僅展示最小值的情形,代碼如下:

from skimage import util

# select box size
block_shape = (10, 10) 
view = util.view_as_blocks(gray_img, block_shape)

# collapse the last two dimensions in one
flatten_view = view.reshape(view.shape[0], view.shape[1], -1)

# choose min within box
min_view = np.min(flatten_view, axis=2)

plt.imshow(min_view,cmap='gray')

運行結(jié)果如下:

5. 為熱力圖選擇調(diào)色板

這一步是我們創(chuàng)作熱力圖藝術(shù)效果自由度最高的步驟。seaborn調(diào)色板可能是一個很好的選擇。我們來看一些不同風格的效果圖:

import seaborn as sns

# save figure for LinkedIn recommended size (2000 width, 600 height)
my_dpi=96
plt.figure(figsize=(2000/my_dpi, 600/my_dpi), dpi=my_dpi) 
sns.heatmap(max_view,xticklabels=False,yticklabels=False,cmap="coolwarm",cbar=False)
plt.savefig("coolwarm.png",bbox_inches='tight')

結(jié)果如下:

此外,viridis風格結(jié)果如下:

Spectral風格結(jié)果如下:

到此這篇關(guān)于利用Python實現(xiàn)熱力圖的繪制的文章就介紹到這了,更多相關(guān)Python熱力圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 獲取鍵盤輸入,同時有超時的功能示例

    python 獲取鍵盤輸入,同時有超時的功能示例

    今天小編就為大家分享一篇python 獲取鍵盤輸入,同時有超時的功能示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 解決Django一個表單對應(yīng)多個按鈕的問題

    解決Django一個表單對應(yīng)多個按鈕的問題

    今天小編就為大家分享一篇解決Django一個表單對應(yīng)多個按鈕的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • numpy中np.sort返回索引的具體使用

    numpy中np.sort返回索引的具體使用

    本文主要介紹了使用numpy中np.sort函數(shù)返回索引的詳細解釋和使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Python使用scrapy采集數(shù)據(jù)過程中放回下載過大頁面的方法

    Python使用scrapy采集數(shù)據(jù)過程中放回下載過大頁面的方法

    這篇文章主要介紹了Python使用scrapy采集數(shù)據(jù)過程中放回下載過大頁面的方法,可實現(xiàn)限制下載過大頁面的功能,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • python繪制餅圖的方法詳解

    python繪制餅圖的方法詳解

    這篇文章主要為大家詳細介紹了python繪制餅圖的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python三級菜單的實例

    Python三級菜單的實例

    下面小編就為大家?guī)硪黄狿ython三級菜單的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python的Jenkins接口調(diào)用方式

    python的Jenkins接口調(diào)用方式

    這篇文章主要介紹了python的Jenkins接口調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python pandas用法最全整理

    Python pandas用法最全整理

    在本篇文章里小編給大家分享的是關(guān)于Python pandas用法以及相關(guān)實例代碼,需要的朋友們可以學習下。
    2019-08-08
  • 爬山算法簡介和Python實現(xiàn)實例

    爬山算法簡介和Python實現(xiàn)實例

    這篇文章主要介紹了爬山算法,爬山法(climbing method)是一種優(yōu)化算法,其一般從一個隨機的解開始,然后逐步找到一個最優(yōu)解(局部最優(yōu))然后用Python實現(xiàn)了這個算法,需要的朋友可以參考下
    2014-04-04
  • python爬蟲框架scrapy實戰(zhàn)之爬取京東商城進階篇

    python爬蟲框架scrapy實戰(zhàn)之爬取京東商城進階篇

    這篇文章主要給大家介紹了利用python爬蟲框架scrapy爬取京東商城的相關(guān)資料,文中給出了詳細的代碼介紹供大家參考學習,并在文末給出了完整的代碼,需要的朋友們可以參考學習,下面來一起看看吧。
    2017-04-04

最新評論