Skip to content

Welcome to multicolor

PyPI version License

A Python package for colormap management and batch plotting.

Features

  • 色带数据库:基于 SQLite 的内置 85 条 matplotlib 色带,支持标签、类型、色盲兼容性、关键词、来源筛选
  • 色带工厂:从数据库生成 matplotlib Colormap 对象(Sequential / Diverging / Qualitative)
  • 自定义色带:用户可添加自己的色带,支持输入验证和内置色带保护
  • 自动同步:升级包时自动同步新版内置色带,同时保留用户自定义内容
  • 装饰器批量绘图@batch_cmaps 传递 Colormap 对象,@batch_colors 传递原始记录 dict
  • 色带集合ColormapCollection 支持链式筛选、分组、HTML 导出、批量出图
  • 多子图导出:支持 single 和 grid 两种布局,支持自定义尺寸
  • 数据管理:完整的色带增删改查,支持 JSON 导出/导入
  • GIS 数据懒下载:cartopy 风格首次使用自动下载、本地缓存、SHA256 校验

Quick Start

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from multicolor import cmap, batch_cmaps, data_ensure

# 获取内置色带
viridis = cmap.get("Viridis")

# 筛选:所有兼容 deutan 的 sequential 色带
names = cmap.names(cmap_type="sequential", colorblind_safe="deutan")

# 批量预览
@batch_cmaps(["Viridis", "Plasma", "Inferno"])
def show(cm):
    cmap.preview(cm)

show()

# GIS 数据懒下载
path = data_ensure("tavg_10min")  # 首次自动下载,后续走缓存