Changelog¶
v0.0.3 (Unreleased)¶
New Features:
- 色带数据库(DB):基于 SQLite 的
cmap_data.db内置 85 条 matplotlib 色带,支持按类型、标签、色盲兼容性、关键词、来源筛选 - 色带工厂:从数据库生成
matplotlibColormap 对象,支持 Sequential / Diverging / Qualitative 三种类型 - 自定义色带:用户可通过
cmap.add()添加自己的色带,内置色带受保护不可覆盖 - 自动同步:升级包时自动同步新版内置色带(
_synced单次会话只同步一次),同时保留用户自定义内容 - 装饰器批量绘图:
@batch_cmaps传递 Colormap 对象直接绘图,@batch_colors传递原始数据库记录 dict,支持名称列表/ID列表/Collection/查询 kwargs/query_func 五种输入方式 - 多子图导出:支持 single(独立窗口)和 grid(单图多子图)两种布局
- ID 分区机制:内置色带 1-10000,自定义色带 10001 起递增
- 输入验证:
cmap.add()自动验证 hex 格式、cmap_type、name 非空、colors 非空 - 渲染层:
ColormapRenderer提供to_image()/to_file()/render_grid(),支持orientation和size参数 - 色带集合:
ColormapCollection支持链式筛选filter()、分组group_by()、HTML 导出to_html()、批量出图export_images() - 数据管理:
cmap.remove()/cmap.export()/cmap.import_data()/cmap.records()完整的色带增删改查 - GIS 数据懒下载:cartopy 风格首次使用自动下载、本地缓存至
~/.multicolor/data/、SHA256 校验、zip 解压支持 - 数据 API:
data_list()/data_get()/data_ensure()/is_available()/data_remove()
Improvements:
cmap.records()返回原始记录字典(不构建 Colormap 对象,轻量查询)cmap.collection()返回ColormapCollection,支持链式操作__version__改为importlib.metadata动态读取,与 pyproject.toml 自动同步batch_cmaps去重提取_render_grid()内部函数,修复 grid n=1 边界情况- 色带集合支持按
source字段筛选来源(如"matplotlib"/"colorbrewer") - 9 个示例 notebook 覆盖全部功能,新增 cartopy 地图渲染和 GIS 数据下载演示
Bug Fixes:
- 修复
batch_cmapsgrid 模式所有色带显示相同颜色的问题 - 修复
_sync_builtins()递归调用导致的 RecursionError - 修复 CI 测试 GUI 弹窗问题(
matplotlib.use("Agg")) - 修复
test_data.pymock 装饰器参数顺序导致的测试失败 - 修复 notebook 缺少
outputs字段导致的 MkDocs 构建失败 - 修复
08_cartopy_maps.ipynb栅格渲染不完整问题(imshow+extent+transform)
v0.0.2 - 2026-05-17¶
- 测试初始化是否成功
v0.0.1 - 2026-05-17¶
- 项目初始化