0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python 可视化如何配色

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-30 15:43 次阅读

我们在利用Python进行数据可视化时,有着大量的高质量库可以用,比如:MatplotlibseabornPlotlyBokehggplot等等。但图表好不好看,配色占一半。如果没有良好的审美观,很容易做出来的东西辣眼睛……

所以想做好数据可视化,就要有合适的配色方案。除了可以借鉴参考配色网站的案例,也可以自己自定义一套配色方案。
如何去自定义呢?

我倒是有一个想法,配色的美感需要培养,但在一开始可以在优秀的作品上寻找灵感,比如经典电影、海报、风景图、Logo等等,这些都是绝佳的参考。

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

答案当然是可以,毕竟Python除了不能生孩子,什么都能做!

提取图片中的配色

在Python中对图片进行操作,最常用的两个模块就是PIL和opencv了。所以一开始我的方案是,用Python库打开图片,然后遍历像素颜色,最后按照色彩比例进行排序,即可得到该图片的配色方案。

结果做到一半,我发现自己忽略了一件事。大家都知道,Python 是一门优雅的语言,简洁的语法,强大的功能。同时它还有拥有极其丰富的第三方库,这些库几乎都可以在github 或者 pypi上找到源码。

于是我搜了一下,确实有相关的库可以提取图片中的配色,那我们就不用重复造轮子了。

这个模块就是——Haishoku,可以用于从图像中获取主色调和主要配色方案。

具体用法,还是先安装

pipinstall haishoku

将前文提到的海上夕阳图,保存到本地并命名为test.png

fromhaishoku.haishokuimportHaishoku image ='test.png'haishoku = Haishoku.loadHaishoku(image)

导入模块,运行代码会返回一个Haishoku实例,你可以通过实例属性haishoku.dominanthaishoku.palette,从而直接获取到对应的主色调和配色方案。

主色调

首先,要怎么获取图片的主色调呢?

print(haishoku.dominant)

这返回了一个结构为 (R, G, B) 的元组,就是该图片的主色调。

图片

运行下面这行代码

Haishoku.showDominant(image)

则会打开一个临时文件,用来预览主色调的颜色。

图片
主色调(最多的颜色)

配色方案

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

返回一个结构为:[(R, G, B), (R, G, B), …] 最大长度为8的数组。

图片

这里使用了pprint模块,对于这种多层嵌套的元组,正好可以美观地打印出来。

运行下面这行代码

Haishoku.showPalette(image)

则会打开一个临时文件,用来预览图片配色方案。(不会保存在本地)

就这样,只需几行代码就提取到图片中的配色方案,是不是很简单。

另外,Haishoku库从v1.1.4版本后,支持从 url 中直接加载图像。

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

配色方案与可视化

通过前面的操作,我们就提取到了合适的配色,那么就实战一下吧。

经典电影、海报、风景图、Logo都是绝佳的参考对象。

所以这次,我选择了Google的Logo,并提取到它的配色方案。

imagepath='google.png'haishoku = Haishoku.loadHaishoku(imagepath) pprint.pprint(haishoku.palette) Haishoku.showPalette(imagepath)

8C81F933-7AF8-441f-A0F5-EAA900052BFE.png

那么,这套配色方案应用到了数据可视化中,会是怎么样呢??

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2587

    浏览量

    46917
  • 源码
    +关注

    关注

    8

    文章

    624

    浏览量

    28900
  • 可视化
    +关注

    关注

    1

    文章

    1127

    浏览量

    20699
  • python
    +关注

    关注

    53

    文章

    4748

    浏览量

    83954
收藏 人收藏

    评论

    相关推荐

    数据可视化Python-matplotlib概述

    数据 可视化(二): Python-matplotlib
    发表于07-22 14:58

    如何把AD中非可视化区域物件移到可视化区域?

    AD中非 可视化区域物件怎么移到 可视化区域???
    发表于09-10 05:36

    python数据可视化的方法和代码

    Python数据 可视化汇总
    发表于10-14 14:59

    Python数据可视化专家的七个秘密

    分享 Python数据 可视化专家的七个秘密
    发表于05-15 06:43

    python数据可视化之画折线图

    python数据 可视化之画折线图,散点图
    发表于05-27 08:09

    Python数据可视化

    Python数据 可视化:网易云音乐歌单
    发表于07-19 08:30

    三维可视化的应用和优势

    ,为此三维 可视化运维系统登场了。  三维 可视化的应用  宏观场景 可视化:在特定的环境中对随着时间推移而不断变化的目标实体进行检测,可以直观、灵活、逼真的展示所处区域的情景和环境,可以快速掌握目标区域
    发表于12-02 11:52

    Python拉勾网数据采集与可视化

    本文是先采集拉勾网上面的数据,采集的是 Python岗位的数据,然后用 Python进行 可视化。主要涉及的是爬虫&数据 可视化的知识。
    的头像 发表于03-13 14:18 3148次阅读
    <b class='flag-5'>Python</b>拉勾网数据采集与<b class='flag-5'>可视化</b>

    使用Python可视化数据,机器人开发编程

    机器学习开发,与Mail.Ru Search数据分析负责人Egor Polusmak和Mail.Ru Group数据科学家Yury Kashnitsky一起探索如何使用 Python 可视化数据。在机器学习领域中, 可视化并不仅仅用来
    的头像 发表于03-15 16:56 8780次阅读

    Python实现PLC数据可视化呈现于Web端

    现介绍另一种通过 Python实现PLC数据 可视化呈现于Web端的方案。
    的头像 发表于08-30 11:27 6793次阅读
    <b class='flag-5'>Python</b>实现PLC数据<b class='flag-5'>可视化</b>呈现于Web端

    Python数据可视化编程实战

    Python数据 可视化编程实战资料免费下载。
    发表于06-01 14:37 29次下载

    怎样使用Python去进行可视化绘制?

    今天给大家带来绘制“手绘风格” 可视化作品的小技巧,主要涉及 Python编码绘制,内容如下。
    的头像 发表于06-23 11:49 2010次阅读
    怎样使用<b class='flag-5'>Python</b>去进行<b class='flag-5'>可视化</b>绘制?

    全网最全数据可视化配色指南都在这!

    很多同学都对 可视化都非常感兴趣,但等自己去画图或者制作数据分析报告时, 配色可能亮瞎狗眼。今天就给大家分享一篇最全数据 可视化 配色指南,聚焦 可视化
    的头像 发表于06-23 16:47 3089次阅读

    使用arduino和python可视化你的比特币收益和损失

    德赢Vwin官网 网站提供《使用arduino和 python 可视化你的比特币收益和损失.zip》资料免费下载
    发表于12-21 16:50 0次下载
    使用arduino和<b class='flag-5'>python</b><b class='flag-5'>可视化</b>你的比特币收益和损失

    使用Python来收集、处理和可视化人口数据

    如何使用 Python这一流行的编程语言来收集、处理和 可视化印度和中国的人口数据呢?本文将向你介绍一些基本的步骤和技巧,帮助你掌握 Python进行 可视化分析的方法。我们将使用以下几个库来
    的头像 发表于06-21 17:08 1198次阅读
    使用<b class='flag-5'>Python</b>来收集、处理和<b class='flag-5'>可视化</b>人口数据