亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1. 引言

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

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

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

2. 讀取圖像

首先,我們來讀取樣例圖像,并對其進(jìn)行相應(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)

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

3. 圖像灰度化

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

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

運(yùn)行結(jié)果如下:

4. 像素化效果

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

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

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')

運(yùn)行結(jié)果如下:

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

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

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風(fēng)格結(jié)果如下:

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

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

相關(guān)文章

  • 解決pycharm py文件運(yùn)行后停止按鈕變成了灰色的問題

    解決pycharm py文件運(yùn)行后停止按鈕變成了灰色的問題

    今天小編就為大家分享一篇解決pycharm py文件運(yùn)行后停止按鈕變成了灰色的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 利用Python判斷你的密碼難度等級

    利用Python判斷你的密碼難度等級

    很多網(wǎng)站在用戶注冊賬號的時候?yàn)榱吮WC賬戶的安全,都會自動檢測用戶密碼的強(qiáng)度并給出提醒讓用戶設(shè)置一個相對安全的密碼。這篇文章主要給大家介紹了關(guān)于利用Python判斷你的密碼難度等級,需要的朋友可以參考下
    2021-06-06
  • Python股票開源庫akshare的具體使用

    Python股票開源庫akshare的具體使用

    AKShare是一個開源財(cái)經(jīng)數(shù)據(jù)接口庫,本文主要介紹了Python股票開源庫akshare的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • python文件操作seek()偏移量,讀取指正到指定位置操作

    python文件操作seek()偏移量,讀取指正到指定位置操作

    這篇文章主要介紹了python文件操作seek()偏移量,讀取指正到指定位置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python條件語句與循環(huán)語句

    Python條件語句與循環(huán)語句

    這篇文章主要介紹了Python條件語句與循環(huán)語句,條件語句就是通過指定的表達(dá)式的運(yùn)行結(jié)果來判斷當(dāng)前是執(zhí)行還是跳過某些指定的語句塊,循環(huán)語句就是對某些語句的重復(fù)執(zhí)行,這個重復(fù)執(zhí)行是通過指定表達(dá)式來控制的,下面來看具體內(nèi)容及續(xù)航管案例吧,需要的朋友可以參考一下
    2021-11-11
  • python多進(jìn)程并發(fā)的實(shí)現(xiàn)示例

    python多進(jìn)程并發(fā)的實(shí)現(xiàn)示例

    python中的多線程無法利用多核優(yōu)勢,如果想要充分地使用多核CPU的資源,在python中大部分情況需要使用多進(jìn)程,本文主要介紹了python多進(jìn)程并發(fā)的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-02-02
  • Python-pandas返回重復(fù)數(shù)據(jù)的index問題

    Python-pandas返回重復(fù)數(shù)據(jù)的index問題

    這篇文章主要介紹了Python-pandas返回重復(fù)數(shù)據(jù)的index問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python3利用tcp實(shí)現(xiàn)文件夾遠(yuǎn)程傳輸

    python3利用tcp實(shí)現(xiàn)文件夾遠(yuǎn)程傳輸

    這篇文章主要為大家詳細(xì)介紹了python3利用tcp實(shí)現(xiàn)文件夾遠(yuǎn)程傳輸,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺電腦

    如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺電腦

    這篇文章主要介紹了如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺電腦,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • django時區(qū)問題的解決

    django時區(qū)問題的解決

    我們都知道時區(qū),標(biāo)準(zhǔn)時區(qū)是UTC時區(qū),django默認(rèn)使用的就是UTC時區(qū),我們希望存儲在數(shù)據(jù)庫中的時間就是本地時間(東八區(qū)的時間),那么應(yīng)該怎么設(shè)置,就一起來了解一下
    2021-05-05

最新評論