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

使用Python制作氣泡熱圖的示例代碼

 更新時間:2025年07月10日 09:38:07   作者:Code_Verse  
在數據分析和可視化中,氣泡熱圖是一種非常直觀的工具,可以展示數據之間的關系和強度,下面小編就來和大家詳細講講如何用Python制作一個氣泡熱圖吧

在數據分析和可視化中,氣泡熱圖是一種非常直觀的工具,可以展示數據之間的關系和強度。今天,我將帶你一步步學會如何用Python制作一個氣泡熱圖。別擔心,我會用最簡單的方式解釋每一個步驟,即使你沒有編程基礎也能輕松上手!

一、什么是氣泡熱圖

氣泡熱圖是一種結合了氣泡圖和熱圖特點的可視化圖表。它通過氣泡的大小和顏色來表示數據的強度,同時通過位置來展示數據的分類或分組。這種圖表非常適合展示多個變量之間的關系,例如不同樣本之間的某種屬性強度。

二、我們需要什么樣的數據

在制作氣泡熱圖之前,我們需要準備以下類型的數據:

兩個分類變量:這兩個變量將決定氣泡的位置。例如,X軸可以是一個分類變量(如不同的類別或分組),Y軸是另一個分類變量。

一個數值變量:這個變量決定了氣泡的大小和顏色,通常表示某種強度或值的大小。

在我們的代碼示例中,我們用的是隨機生成的數據,但如果你有自己的數據,可以按照類似的結構準備。比如:

  • X軸:1到10的類別(可以是任何分組)。
  • Y軸:1到10的樣本(也可以是其他分組)。
  • 每個氣泡的大小和顏色由一個10×10的矩陣決定,矩陣中的每個值表示氣泡的強度。

三、開始制作氣泡熱圖

1. 安裝必要的庫

在開始之前,我們需要安裝兩個Python庫:numpymatplotlib。這兩個庫分別用于處理數據和繪圖。

如果你還沒有安裝,可以通過以下命令安裝:

pip install numpy matplotlib

2. 準備代碼

接下來,我們來看看代碼的每一步。

(1)導入庫

import numpy as np
import matplotlib.pyplot as plt
  • numpy用于處理數據,比如生成網格和隨機數。
  • matplotlib.pyplot用于繪圖。

(2)創(chuàng)建示例數據

K = np.arange(1, 11)  # X軸的分類變量
Samples = np.arange(1, 11)  # Y軸的分類變量
X, Y = np.meshgrid(K - 0.5, Samples - 0.5)  # 氣泡中心位于格子中心
Z = np.random.rand(10, 10)  # 隨機生成的強度數據
  • KSamples分別是X軸和Y軸的分類變量。
  • X, Y是通過meshgrid生成的網格,用于確定氣泡的中心位置。
  • Z是一個10×10的矩陣,表示每個氣泡的強度(隨機生成的)。

(3)設置氣泡大小

max_bubble_diameter = 0.8  # 最大氣泡直徑
bubble_sizes = Z * max_bubble_diameter**2 * 800  # 調整大小比例因子

氣泡的大小與Z成正比,但最大直徑被限制為0.8,以避免氣泡之間重疊。

(4)繪制氣泡圖

plt.figure(figsize=(10, 8))  # 設置圖形大小
scatter = plt.scatter(X, Y, s=bubble_sizes, c=Z, cmap='viridis', alpha=0.7, edgecolors="black", linewidth=1)
  • 使用scatter繪制氣泡圖。
  • s參數設置氣泡大小。
  • c參數設置氣泡顏色,顏色由Z決定。
  • cmap='viridis'設置了顏色映射,你可以換成其他顏色映射(如'plasma''coolwarm')。
  • alpha是透明度,edgecolorslinewidth設置了氣泡的邊框顏色和寬度。

(5)添加顏色條

cbar = plt.colorbar(scatter)
cbar.set_label('Bubble Intensity', fontsize=12)

顏色條可以幫助我們理解氣泡顏色的含義。

(6)設置標題和標簽

plt.title("Bubble Heatmap Plot", fontsize=18, fontweight='bold')
plt.xlabel("K (w)", fontsize=14)
plt.ylabel("Samples", fontsize=14)

標題和坐標軸標簽讓圖表更清晰。

(7)設置坐標軸刻度和范圍

plt.xticks(K, fontsize=12)
plt.yticks(Samples, fontsize=12)
plt.xlim(0, 10)
plt.ylim(0, 10)

確保氣泡對齊在格子內,避免被切割。

(8)添加網格

plt.grid(True, which='both', axis='both', linestyle='-', linewidth=1, color='black')

網格可以幫助我們更好地理解氣泡的位置。

(9)調整布局并顯示圖形

plt.tight_layout(pad=0.1)  # 調整布局
plt.show()  # 顯示圖形

四、運行代碼,查看結果

將上述代碼復制到你的Python環(huán)境中,運行后你將看到一個漂亮的氣泡熱圖!你可以嘗試修改數據或顏色映射,看看會發(fā)生什么變化。

完整代碼如下:

import numpy as np
import matplotlib.pyplot as plt
# 創(chuàng)建示例數據
K = np.arange(1, 11)
Samples = np.arange(1, 11)
X, Y = np.meshgrid(K - 0.5, Samples - 0.5)  # 氣泡中心位于格子中心
Z = np.random.rand(10, 10)
# 設置氣泡大小,大小與數據Z成正比,但限制最大直徑為0.8
max_bubble_diameter = 0.8  # 最大氣泡直徑
bubble_sizes = Z * max_bubble_diameter**2 * 800  # 調整大小比例因子以適應最大直徑限制
# 創(chuàng)建氣泡圖
plt.figure(figsize=(10, 8))
# 繪制氣泡圖,使用 'viridis' 色系
scatter = plt.scatter(X, Y, s=bubble_sizes, c=Z, cmap='viridis', alpha=0.7, edgecolors="black", linewidth=1)
# 添加顏色條
cbar = plt.colorbar(scatter)
cbar.set_label('Bubble Intensity', fontsize=12)
# 設置標題和標簽
plt.title("Bubble Heatmap Plot", fontsize=18, fontweight='bold')
plt.xlabel("K (w)", fontsize=14)
plt.ylabel("Samples", fontsize=14)
# 設置坐標軸刻度,確保氣泡對齊在格子內
plt.xticks(K, fontsize=12)
plt.yticks(Samples, fontsize=12)
# 添加網格,清晰展示格子邊框
plt.grid(True, which='both', axis='both', linestyle='-', linewidth=1, color='black')
# 設置坐標軸范圍,使氣泡顯示在格子內,避免氣泡被切割
plt.xlim(0, 10)
plt.ylim(0, 10)
# 調整布局,確保圖形無多余空白并完整顯示
plt.tight_layout(pad=0.1)  # 適當減小邊緣空白
# 顯示圖形
plt.show()

五、總結

通過今天的教程,我們學會了如何用Python制作氣泡熱圖。只要準備好合適的分類變量和數值變量,就可以輕松生成這種直觀的圖表。希望你能用這個技能來展示你的數據!

到此這篇關于使用Python制作氣泡熱圖的示例代碼的文章就介紹到這了,更多相關Python氣泡熱圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python基于Floyd算法求解最短路徑距離問題實例詳解

    Python基于Floyd算法求解最短路徑距離問題實例詳解

    這篇文章主要介紹了Python基于Floyd算法求解最短路徑距離問題,結合完整實例形式詳細分析了Python使用Floyd算法求解最短路徑距離問題的相關操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • 完美解決python中ndarray 默認用科學計數法顯示的問題

    完美解決python中ndarray 默認用科學計數法顯示的問題

    今天小編就為大家分享一篇完美解決python中ndarray 默認用科學計數法顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python?pandas索引的設置和修改方法

    Python?pandas索引的設置和修改方法

    索引的作用相當于圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容,下面這篇文章主要給大家介紹了關于Python?pandas索引的設置和修改的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Pandas對數值進行分箱操作的4種方法總結

    Pandas對數值進行分箱操作的4種方法總結

    分箱是一種常見的數據預處理技術有時也被稱為分桶或離散化,他可用于將連續(xù)數據的間隔分組到“箱”或“桶”中。本文將使用python?Pandas庫對數值進行分箱的4種方法,感興趣的可以了解一下
    2022-05-05
  • Python入門教程之if語句的用法

    Python入門教程之if語句的用法

    這篇文章主要介紹了Python入門教程之if語句的用法,是Python入門的基礎知識,需要的朋友可以參考下
    2015-05-05
  • python?requests.post請求404問題及解決方法

    python?requests.post請求404問題及解決方法

    這篇文章主要介紹了python?requests.post請求404問題,這里需要根據自己實際情況來分析當前接口接收數據時使用的是什么格式,但目前一般的網站都開始采用application/jsond的數據格式,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Python將字符串轉換為datetime對象的五種方法

    Python將字符串轉換為datetime對象的五種方法

    在Python編程中,我們經常會遇到需要將字符串形式的日期和時間轉換為datetime對象的情況,例如,從文件、數據庫或網絡接口中獲取的數據通常是以字符串形式存在的,使用datetime對象會更加方便,所以本文給大家總結Python將字符串轉換為datetime對象的五種方法
    2025-07-07
  • Python實現APP自動化發(fā)微信群消息的示例代碼

    Python實現APP自動化發(fā)微信群消息的示例代碼

    本文主要介紹了Python實現APP自動化發(fā)微信群消息的示例代,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下碼
    2022-01-01
  • 基于Python實現本地音樂播放器的制作

    基于Python實現本地音樂播放器的制作

    這篇文章主要介紹了如何利用Python實現本地音樂播放器的制作,并且可以選擇需要播放的音樂的路徑,選擇播放方式,感興趣的小伙伴可以了解一下
    2022-06-06
  • pycharm創(chuàng)建scrapy項目教程及遇到的坑解析

    pycharm創(chuàng)建scrapy項目教程及遇到的坑解析

    這篇文章主要介紹了pycharm創(chuàng)建scrapy項目教程及遇到的坑解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論