<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 可視化如何配色?這個工具你值得擁有

          共 2080字,需瀏覽 5分鐘

           ·

          2021-11-16 20:12

          我們在利用Python進行數(shù)據(jù)可視化時,有著大量的高質(zhì)量庫可以用,比如:MatplotlibseabornPlotlyBokehggplot等等。但圖表好不好看,配色占一半。如果沒有良好的審美觀,很容易做出來的東西辣眼睛……

          所以想做好數(shù)據(jù)可視化,就要有合適的配色方案。除了可以借鑒參考配色網(wǎng)站的案例,也可以自己自定義一套配色方案。

          如何去自定義呢?

          我倒是有一個想法,配色的美感需要培養(yǎng),但在一開始可以在優(yōu)秀的作品上尋找靈感,比如經(jīng)典電影、海報、風(fēng)景圖、Logo等等,這些都是絕佳的參考。

          自然風(fēng)景的顏色往往令人驚艷,咱們不妨以風(fēng)景圖為例。下圖是一副海上夕陽圖,通過一番操作就提取到了一套配色方案(見圖右)。

          那么,我們用Python能不能做到呢?

          答案當(dāng)然是可以,畢竟Python除了不能生孩子,什么都能做!

          提取圖片中的配色

          在Python中對圖片進行操作,最常用的兩個模塊就是PIL和opencv了。所以一開始我的方案是,用Python庫打開圖片,然后遍歷像素顏色,最后按照色彩比例進行排序,即可得到該圖片的配色方案。

          結(jié)果做到一半,我發(fā)現(xiàn)自己忽略了一件事。大家都知道,Python 是一門優(yōu)雅的語言,簡潔的語法,強大的功能。同時它還有擁有極其豐富的第三方庫,這些庫幾乎都可以在github 或者 pypi上找到源碼。

          于是我搜了一下,確實有相關(guān)的庫可以提取圖片中的配色,那我們就不用重復(fù)造輪子了。

          這個模塊就是——Haishoku,可以用于從圖像中獲取主色調(diào)和主要配色方案。

          其GitHub網(wǎng)址為:https://github.com/LanceGin/haishoku

          具體用法,還是先安裝

          pip?install?haishoku

          將前文提到的海上夕陽圖,保存到本地并命名為test.png

          from?haishoku.haishoku?import?Haishoku
          image?=?'test.png'
          haishoku?=?Haishoku.loadHaishoku(image)

          導(dǎo)入模塊,運行代碼會返回一個Haishoku實例,你可以通過實例屬性haishoku.dominanthaishoku.palette,從而直接獲取到對應(yīng)的主色調(diào)和配色方案。

          主色調(diào)

          首先,要怎么獲取圖片的主色調(diào)呢?

          print(haishoku.dominant)

          這返回了一個結(jié)構(gòu)為 (R, G, B) 的元組,就是該圖片的主色調(diào)。

          運行下面這行代碼

          Haishoku.showDominant(image)

          則會打開一個臨時文件,用來預(yù)覽主色調(diào)的顏色。

          主色調(diào)(最多的顏色)

          配色方案

          #獲取配色方案
          pprint.pprint(haishoku.palette)

          返回一個結(jié)構(gòu)為:[(R, G, B), (R, G, B), …] 最大長度為8的數(shù)組。

          這里使用了pprint模塊,對于這種多層嵌套的元組,正好可以美觀地打印出來。

          運行下面這行代碼

          Haishoku.showPalette(image)

          則會打開一個臨時文件,用來預(yù)覽圖片配色方案。(不會保存在本地)

          配色方案

          就這樣,只需幾行代碼就提取到圖片中的配色方案,是不是很簡單。

          另外,Haishoku庫從v1.1.4版本后,支持從 url 中直接加載圖像。

          imagepath?=?'https://img-blog.csdnimg.cn/20190222215216318.png'
          ????
          haishoku?=?Haishoku.loadHaishoku(imagepath)

          配色方案與可視化

          通過前面的操作,我們就提取到了合適的配色,那么就實戰(zhàn)一下吧。

          經(jīng)典電影、海報、風(fēng)景圖、Logo都是絕佳的參考對象。

          所以這次,我選擇了Google的Logo,并提取到它的配色方案。

          imagepath?=?'google.png'

          haishoku?=?Haishoku.loadHaishoku(imagepath)

          pprint.pprint(haishoku.palette)

          Haishoku.showPalette(imagepath)

          那么,這套配色方案應(yīng)用到了數(shù)據(jù)可視化中,會是怎么樣呢??

          這次用剛才得到的Google配色,Python繪制一個環(huán)形圖試試看

          感覺還不錯,這套配色方案我要收藏起來。如果大家覺得本文還不錯,記得給個一鍵三連!

          我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。

          有任何問題,可以在公眾號后臺回復(fù):加群,回答相應(yīng)紅字驗證信息,進入互助群詢問。

          原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

          點擊下方閱讀原文可獲得更好的閱讀體驗

          Python實用寶典?(pythondict.com)
          不只是一個寶典
          歡迎關(guān)注公眾號:Python實用寶典

          瀏覽 64
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  啊v视频在线观看 | 7799天天综合网 | 豆花成人av | 欧洲极品另类 | 北条麻妃加勒比黑人无码 |