一款 Python 神器解决自动化图表配色
一款 Python 神器解决自动化图表配色
- 1.提取图片中的配色
- 1.1主色调
- 1.2配色方案
- 2.配色方案与可视化
我们在利用Python进行数据可视化时,有着大量的高质量库可以用,比如: Matplotlib
、 seaborn
、 Plotly
、 Bokeh
、 ggplot
等等。但图表好不好看,配色占一半。如果没有良好的审美观,很容易做出来的东西辣眼睛……
所以想做好数据可视化,就要有合适的配色方案。除了可以借鉴参考配色网站的案例,也可以自己自定义一套配色方案。
如何去自定义呢?
配色的美感需要培养,但在一开始可以在优秀的作品上寻找灵感,比如经典电影、海报、风景图、Logo等等,这些都是绝佳的参考。
自然风景的颜色往往令人惊艳,咱们不妨以风景图为例。下图是一副海上夕阳图,通过一番操作就提取到了一套配色方案
那么,我们用Python能不能做到呢?
答案当然是可以,毕竟Python除了不能生孩子,什么都能做!
1.提取图片中的配色
在Python中对图片进行操作,最常用的两个模块就是PIL
和opencv
了。所以一开始我的方案是,用Python库打开图片,然后遍历像素颜色,最后按照色彩比例进行排序,即可得到该图片的配色方案。
结果做到一半,忽略了一件事。大家都知道,Python 是一门优雅的语言,简洁的语法,强大的功能。同时它还有拥有极其丰富的第三方库,这些库几乎都可以在github 或者 pypi上找到源码。
于是我搜了一下,确实有相关的库可以提取图片中的配色,那我们就不用重复造轮子了。
这个模块就是——Haishoku
,可以用于从图像中获取主色调和主要配色方案。
具体用法,还是先安装
pip install haishoku
将前文提到的海上夕阳图,保存到本地并命名为test.png
。
from haishoku.haishoku import Haishoku
image = 'test.png'
haishoku = Haishoku.loadHaishoku(image)
导入模块,运行代码会返回一个Haishoku实例,你可以通过实例属性haishoku.dominant
和 haishoku.palette
,从而直接获取到对应的主色调和配色方案。
1.1主色调
首先,要怎么获取图片的主色调呢?
print(haishoku.dominant)
这返回了一个结构为 (R, G, B) 的元组,就是该图片的主色调。
运行下面这行代码
Haishoku.showDominant(image)
则会打开一个临时文件,用来预览主色调的颜色。
主色调(最多的颜色)
1.2配色方案
#获取配色方案
pprint.pprint(haishoku.palette)
返回一个结构为:[(R, G, B), (R, G, B), …] 最大长度为8的数组。
这里使用了pprint
模块,对于这种多层嵌套的元组,正好可以美观地打印出来。
运行下面这行代码
Haishoku.showPalette(image)
则会打开一个临时文件,用来预览图片配色方案。(不会保存在本地)
就这样,只需几行代码就提取到图片中的配色方案,是不是很简单。
2.配色方案与可视化
通过前面的操作,我们就提取到了合适的配色,那么就实战一下吧。
经典电影、海报、风景图、Logo都是绝佳的参考对象。
所以这次,我选择了Google的Logo,并提取到它的配色方案。
imagepath = 'google.png'haishoku = Haishoku.loadHaishoku(imagepath)pprint.pprint(haishoku.palette)Haishoku.showPalette(imagepath)
那么,这套配色方案应用到了数据可视化中,会是怎么样呢??
用Python绘制一个饼图试试看
感觉还不错,这套配色方案我要收藏起来。
最后,感谢您的阅读。您的每个点赞、留言、分享都是对我们最大的鼓励,笔芯~
如有疑问,欢迎在评论区一起讨论!
一款 Python 神器解决自动化图表配色相关推荐
- 一款 Python 神器搞定自动化图表配色
原文链接:https://mp.weixin.qq.com/s/lwvZ1SyhiOiWx2lP-Iou6Q 作者:朱小五 我们在利用Python进行数据可视化时,有着大量的高质量库可以用,比如:Ma ...
- g++ 安装python_卧槽,又一款Python神器
写Python代码最头疼的两件事是什么? 我总结了两点 1.Windows 平台安装第三方包经常失败的问题,还记得第一次安装mysql依赖包时的那个场景吗?怎么都装不上. 2.虚拟环境切换的问题,如果 ...
- 卧槽,又一款Python神器
写Python代码最头疼的两件事是什么?我总结了两点 1.Windows 平台安装第三方包经常失败的问题,还记得第一次安装mysql依赖包时的那个场景吗?怎么都装不上. 2.虚拟环境切换的问题,如果我 ...
- 有了这款Python神器,新手也会调试代码!
大家好,我是黄同学
- python可视化案例书籍推荐_这5款Python可视化神器,总有一款适合你!
我们都知道视觉是人们很重要的一种感官,而Python中可视化,在数据相关的研发中也起到"一木支危楼"的作用.如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃且 ...
- 推荐一款Python开源库,技术人必备的造数据神器!
1. 背景 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据.由于现在的业务系统数据多种多样,千变万化.在手动制造数据的 ...
- python的编程工具spider_7款Python开发神器,拿走不谢
在人工智能开启的时代,Python作为人工智能的首选语言,前景可以预见.因此学习Python的人越来越多.今天,快快小编准备给大家介绍7款Python开发神器,欢迎收藏转发! 1.Micro Pyth ...
- 一款Python实用神器,5 行 Python 代码 实现一键批量扣图
今天给大家分享一款Python装逼实用神器. 在日常生活或者工作中,经常会遇到想将某张照片中的人物抠出来,然后拼接到其他图片上去.专业点的人可以使用 PhotoShop 的"魔棒" ...
- python必备神器_这5款Python可视化神器,总有一款适合你!
我们都知道视觉是人们很重要的一种感官,而Python中可视化,在数据相关的研发中也起到"一木支危楼 "的作用.如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃 ...
最新文章
- 使用Newtonsoft.Json
- 高翔Slambook第七讲代码解读(特征点提取)
- git clone一个github上的仓库非常缓慢 和 github网页打不开
- php怎么把文字改成黑色,微信如何调成黑色模式?
- RocketMQ的存储之消息的同步、异步刷盘
- apple tv 开发_如何跨多台Apple TV同步Apple TV的主屏幕
- 基于IC设计的实用ISP介绍
- 聊天系统服务器端类图,课程设计-简单聊天室JAVA课程设计.doc
- 基于STM32和ESP8266的智能灌溉系统【土壤湿度监测继电器OLED显示WIFI控制器APP水泵】
- 小程序源码:微信零钱模拟器
- hsqldb user lacks privilege or object not found
- Laravel中使用dingo
- Mac远程控制软件有哪些?Macos好用的远程桌面连接软件推荐
- Elasticsearch许可证过期导致ES用不了的问题
- PHP防花生日记官网源码【前后端分离】源码
- 这有一套完整的微信公众号代运营方案
- 亚马逊真的是让我又爱又恨
- 世界风情园成北京最大废墟
- 团队开发中,xshell共享配置文件
- 真的来了:ArcGIS Pro2.5可以安装使用了-安装教程(附安装包下载)
热门文章
- python怎么使用别人的代码_利用Python查看微信共同好友功能的实现代码
- matlab绘制正态分布曲线(高斯隶属度函数)
- 【可视化】Power Map实现大数据可视化操作
- 如何查看期刊论文的分类及分级
- CSS 网页样式大全
- C语言printf()输出整数的格式
- python代码的注释只有一种方式那就是使用井字符号_从一个按钮点击得到一个井字塔克托移动(在Python和Tkinter)...
- C++ 输出前K大的数
- 软件体系结构的设计与实现鱼骨图
- WTO再发出警告!世界经济市场一片混乱,中国制造迎来最大契机!