天天看點

【Python】可視化配色方案自由啦 (Python版)

本文分享一個Python快速提取任何圖檔配色方案的工具:Haishoku;

Haishoku 是一個用來擷取圖檔主色調和主要配色方案的python庫,依賴于​​

​python3​

​​和​

​pillow​

​。

Haishoku安裝

pip3 install haishoku      

使用案例

抓取以下《生活多美好》電影海報主題色,

【Python】可視化配色方案自由啦 (Python版)

​​

​再次安利這部電影,小編從裡面頓悟的一點點正能量是:好的風景何必遠方,用心領會,咫尺之間皆是~​

  • 主題色提取
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】可視化配色方案自由啦 (Python版)

會輸出以上圖檔,但是不會儲存 。

  • 主題色運用于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】可視化配色方案自由啦 (Python版)
  • 主題色運用于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】可視化配色方案自由啦 (Python版)
AI基礎下載下傳機器學習交流qq群955171419      

繼續閱讀