续上篇:可视化配色方案自由啦 (R版) 本文分享一个Python快速提取任何图片配色方案,运用于可视化配色的工具:Haishoku; Haishoku 是一个用来获取图片主色调和主要配色方案的python库,依赖于python3 和pillow 。
Haishoku安装
pip3 install haishoku
使用案例
抓取以下《生活多美好》电影海报主题色,再次安利这部电影,小编从里面顿悟的一点点正能量是:好的风景何必远方,用心领会,咫尺之间皆是~
from haishoku.haishoku import Haishoku
image='./life_is_b.png'
haishoku = Haishoku.loadHaishoku(image)
haishoku.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)
会输出以上图片,但是不会保存 。
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]
plt.figure(dpi=120)
plt.style.use('bmh')
plt.bar(range(2, 10), range(2, 10), color=rgb_list)
plt.title('Colored with Haishoku', size=10)
plt.show()
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]],
data=tips)
sns.despine(offset=10, trim=True)
|