.. -- mode: rst --
.. image:: doc/glasbey_logo.png :width: 600 :alt: Glasbey标志 :align: center
|pypi_version|_ |License|_ |build_status|_ |Coverage|_ |Docs|_
.. |pypi_version| image:: https://img.shields.io/pypi/v/glasbey.svg .. _pypi_version: https://pypi.python.org/pypi/glasbey/
.. |License| image:: https://img.shields.io/pypi/l/glasbey .. _License: https://github.com/lmcinnes/glasbey/blob/main/LICENSE
.. |build_status| image:: https://dev.azure.com/lelandmcinnes/Glasbey%20builds/_apis/build/status/lmcinnes.glasbey?branchName=main .. _build_status: https://dev.azure.com/lelandmcinnes/Glasbey%20builds/_build/latest?definitionId=2&branchName=main
.. |Coverage| image:: https://coveralls.io/repos/github/lmcinnes/glasbey/badge.svg?branch=HEAD .. _Coverage: https://coveralls.io/github/lmcinnes/glasbey
.. |Docs| image:: https://readthedocs.org/projects/glasbey/badge/?version=latest .. _Docs: https://glasbey.readthedocs.io/en/latest/?badge=latest
======================================= Glasbey分类色彩调色板工具
glasbey库允许使用Glasbey、Heijden、Toh和Gray的论文《分类图像的彩色显示》中的技术算法创建专为分类数据设计的色彩调色板。不过您无需担心技术细节 —— glasbey库使用起来非常简单。
为分类数据创建一个调色板,使每个类别都有一个视觉上独特的颜色是很常见的需求。通常人们依赖预定义的色彩调色板,比如来自ColorBrewer <https://colorbrewer2.org/#type=qualitative&scheme=Accent&n=3>
_的调色板,或者由您选择的绘图库提供的调色板。不幸的是,这些调色板并不总能满足您的需求:也许它们没有足够多的不同颜色,而您不想重复使用或循环使用调色板;也许您有特定的约束条件,想要获得某种特定外观的调色板。幸运的是,我们可以使用数学和感知色彩空间来创建新的调色板,在约束条件下最大化颜色之间的感知视觉差异。同样容易的是扩展现有调色板,或者用一些初始颜色(也许是您公司或机构的颜色)来作为种子创建调色板。最后,glasbey还可以轻松生成块状调色板,适用于处理层次分类。
创建分类调色板
.. image:: doc/glasbey_basic_palette.png :width: 600 :alt: Glasbey基本调色板示例 :align: center
或限制调色板选项(例如使用柔和的颜色)
.. image:: doc/glasbey_muted_palette.png :width: 600 :alt: Glasbey柔和调色板示例 :align: center
或扩展现有调色板
.. image:: doc/glasbey_tab10_palette.png :width: 600 :alt: Glasbey扩展tab10示例 :align: center
或创建块状分类调色板
.. image:: doc/glasbey_block_palette.png :width: 600 :alt: Glasbey块状调色板示例 :align: center
基本用法
创建新的分类色彩调色板只需一个函数调用就能轻松完成。
.. code:: python3
import glasbey
# 创建一个包含15种颜色的分类调色板
glasbey.create_palette(palette_size=15)
# 创建一个包含12种柔和颜色的调色板
glasbey.create_palette(palette_size=12, lightness_bounds=(20, 40), chroma_bounds=(40, 50))
扩展现有调色板或从一些种子颜色创建新调色板也很容易。
.. code:: python3
import glasbey
# 向matplotlib的tab10调色板添加5种额外颜色
glasbey.extend_palette("tab10", palette_size=15)
# 用一些初始颜色作为种子创建调色板
glasbey.extend_palette(["#2a3e63", "#7088b8", "#fcaf3e", "#b87088"], palette_size=8)
安装
Glasbey需要以下依赖:
- numba
- numpy
- colorspacious
- matplotlib
Glasbey可以通过pip安装:
.. code:: bash
pip install glasbey
手动安装此包:
.. code:: bash
wget https://github.com/lmcinnes/glasbey/archive/main.zip
unzip main.zip
rm main.zip
cd glasbey-main
python setup.py install
致谢
本库深受Sergey Alexandrov的原始glasbey库 <https://github.com/taketwo/glasbey>
_的启发。
参考文献
-
Glasbey, C., van der Heijden, G., Toh, V. F. K. and Gray, A. (2007),
分类图像的彩色显示 <http://onlinelibrary.wiley.com/doi/10.1002/col.20327/abstract>
_. Color Research and Application, 32: 304-309 -
Luo, M. R., Cui, G. and Li, C. (2006),
基于CIECAM02色彩外观模型的均匀色彩空间 <http://onlinelibrary.wiley.com/doi/10.1002/col.20227/abstract>
_. Color Research and Application, 31: 320–330
许可证
Glasbey采用MIT许可。详情请参阅LICENSE文件。
贡献
我们非常欢迎贡献!如果您对功能或项目有想法,请与我们联系。从代码到笔记本再到示例和文档,一切都同等重要,所以请不要觉得您不能贡献。
要贡献,请fork项目 <https://github.com/lmcinnes/glasbey/issues#fork-destination-box>
_,进行您的修改,然后提交拉取请求。我们将尽最大努力与您一起解决任何问题,并将您的代码合并进来。