Python可视化配色终极解决方案来啦~

续上篇:可视化配色方案自由啦 (R版)
本文分享一个Python快速提取任何图片配色方案,运用于可视化配色的工具:Haishoku
Haishoku 是一个用来获取图片主色调和主要配色方案的python库,依赖于python3pillow


Haishoku安装

pip3 install haishoku

使用案例

抓取以下《生活多美好》电影海报主题色,再次安利这部电影,小编从里面顿悟的一点点正能量是:好的风景何必远方,用心领会,咫尺之间皆是~

  • 主题色提取
from haishoku.haishoku import Haishoku
image='./life_is_b.png'
haishoku = Haishoku.loadHaishoku(image)
haishoku.palette  #palette函数输出配色色号

palette函数输出配色色号

[(0.77, (244, 247, 244)),
(0.09, (116, 165, 96)),
(0.06, (193, 214, 168)),
(0.03, (148, 184, 124)),
(0.02, (165, 196, 134)),
(0.02, (86, 144, 81)),
(0.01, (54, 113, 65)),
(0.0, (184, 185, 148))]

showPalette函数预览上面提取出的配色~

haishoku.showPalette(image)

Python可视化配色终极解决方案来啦~_第1张图片会输出以上图片,但是不会保存 。

  • 主题色运用于Matplotlib

Matplotlib详细教程Matplotlib 1.4W+字教程,以上颜色需要简单转化一下,才可以运用于Python可视化,

import matplotlib.pyplot as plt

rgb_list = [[i[1][0] / 255, i[1][1] / 255, i[1][2] / 255]
            for i in haishoku.palette] #色号简单转化为matplotlib可用的0~1之间RGB色号
plt.figure(dpi=120)
plt.style.use('bmh')
plt.bar(range(2, 10), range(2, 10), color=rgb_list)  #传入Haishoku提取的颜色号
plt.title('Colored with Haishoku', size=10)
plt.show()

Python可视化配色终极解决方案来啦~_第2张图片

  • 主题色运用于Seaborn

Seaborn详细教程Matplotlib太臃肿,试试Seaborn

import seaborn as sns
import pandas as pd

tips = pd.read_csv('./seaborn-data-master/tips.csv')
plt.figure(dpi=120)
plt.style.use('bmh')
sns.boxplot(x="day",
            y="total_bill",
            hue="smoker",
            palette=[rgb_list[3], rgb_list[6]],#传入Haishoku提取的颜色号
            data=tips)
sns.despine(offset=10, trim=True)

Python可视化配色终极解决方案来啦~_第3张图片


Python可视化配色终极解决方案来啦~_第4张图片

你可能感兴趣的