Skip to main content

A Python reproduction of the MATLAB Special Heatmap project.

Project description

Python Special Heatmap

PyPI version License: GPL v2

Disclaimer: This project was implemented with the assistance of AI (Google Gemini).
声明:本项目代码由 AI (Google Gemini) 辅助生成。

介绍 / Introduction

A Python reproduction of the MATLAB special heatmap project. It uses matplotlib to draw advanced heatmaps with various shapes (square, circle, hexagon, pie, etc.) and triangular layouts.

基于 MATLAB 版 special heatmap 的 Python 复现。本项目使用 matplotlib 实现具有多种形状(正方形、圆形、六边形、饼图等)和三角矩阵布局的高级热图绘制。

1. 安装 / Installation

pip install special-heatmap

2. 基础使用 / Basic Use

2.1 绘制非负矩阵热图 (Draw positive heat map)

import numpy as np
import matplotlib.pyplot as plt
from special_heatmap import SHeatmap

data = np.random.rand(15, 15)
shm = SHeatmap(data, fmt='sq')
shm.draw()
plt.show()

Basic Positive

2.2 绘制含负数热图 (Contains negative numbers)

data = np.random.rand(15, 15) - 0.5
shm = SHeatmap(data, fmt='sq')
shm.draw()
plt.show()

Basic Negative

2.3 绘制有文本和 NaN 的热图 (Draw heat map with texts and NaN)

data = np.random.rand(12, 12) - 0.5
data[3, 3] = np.nan
shm = SHeatmap(data, fmt='sq')
shm.draw()
shm.set_text(fontsize=8)
plt.show()

Basic with Text

3. 各类型热图 / Various Formats

支持的格式 (fmt 参数):

  • sq (Square): 正方形 (Default)
  • pie (Pie Chart): 饼图
  • donut (Donut Chart): 环形饼图(甜甜圈图)
  • circ (Circle): 圆形
  • bcirc (Circle with box): 有底色的圆形
  • oval (Oval): 椭圆形
  • hex (Hexagon): 六边形
  • star (Star): 五角星
  • tril / trill: 下三角形状
  • triu / triur: 上三角形状
  • trilr: 右下三角形状
  • triul: 左上三角形状
  • asq (Auto-Square): 自适应大小的正方形
  • acirc (Auto-Circle): 自适应大小的圆形
  • cust / acust: 自定义形状(配合 sdata 参数传入多边形顶点坐标)
# 示例:绘制星形格式
shm = SHeatmap(data, fmt='star')
shm.draw()
Format Positive Data (A) Mixed Data (B)
sq (Square) sq A sq B
pie (Pie Chart) pie A pie B
donut (Donut) donut A donut B
circ (Circle) circ A circ B
bcirc (Circle w/ Box) bcirc A bcirc B
hex (Hexagon) hex A hex B
oval (Oval) oval A oval B
star (Star) star A star B
tril (Lower Triangle) tril A tril B
triu (Upper Triangle) triu A triu B
trilr (Lower-Right Tri) trilr A trilr B
triul (Upper-Left Tri) triul A triul B
asq (Auto-Square) asq A asq B
acirc (Auto-Circle) acirc A acirc B

自定义形状示例 (cust / acust):

cust (Custom) acust (Auto-Custom)
cust acust

4. 显示显著性 (Significance Stars)

可以使用 show_stars 方法根据 p-value 矩阵在热图上标注显著性星号。

pval_matrix = np.random.rand(12, 12) * 0.1
shm = SHeatmap(data, fmt='sq')
shm.draw()
shm.set_text()
# 默认 levels 为 [0.05, 0.01, 0.001]
shm.show_stars(pval_matrix)
plt.show()

Significance Stars

5. 三角布局 / Triangular Layouts

支持以下布局类型 (set_type 方法):

  • triu : 上三角 (Upper Triangle)
  • tril : 下三角 (Lower Triangle)
  • triu0 : 上三角无对角线 (Upper without Diagonal)
  • tril0 : 下三角无对角线 (Lower without Diagonal)
data = np.random.rand(12, 12)
shm = SHeatmap(data, fmt='sq')
shm.set_type('tril') # 设置为下三角
shm.draw()
shm.set_text()
plt.show()
Type Result
triu triu
tril tril
triu0 triu0
tril0 tril0

5. 开源协议 / License

本项目采用 GPL v2 开源协议。详细内容请参阅 LICENSE 文件。 This project is licensed under the GPL v2 License. See the LICENSE file for details.


Original MATLAB project by slandarer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

special_heatmap-3.1.2.0.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

special_heatmap-3.1.2.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file special_heatmap-3.1.2.0.tar.gz.

File metadata

  • Download URL: special_heatmap-3.1.2.0.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for special_heatmap-3.1.2.0.tar.gz
Algorithm Hash digest
SHA256 acde6b0f99931cd908c79342d9894a7a94acc0b1b9549dfda1aedfbe04f28037
MD5 e21e0351bb7f6451126282f7f5422005
BLAKE2b-256 ab3cd12d1fc498db4abb7f78992d4721daa278db20e88d6dbcd6a0b5fcd72c4b

See more details on using hashes here.

File details

Details for the file special_heatmap-3.1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for special_heatmap-3.1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd6daabfacaaa4af7f7b4cc3dde848f165ebc22e775457f96a6f59b860bd10b1
MD5 2218d54e0bbb21e414b3f8e626b2b8a6
BLAKE2b-256 9791086c8e8f461621ba33325866ef39c472897084fae92cbd0d4b7e53e9ebf2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page