Python 可视化如何配色

我们在利用python进行数据可视化时,有着大量的高质量库可以用,比如: matplotlib 、 seaborn 、 plotly 、 bokeh 、ggplot等等。但图表好不好看,配色占一半。如果没有良好的审美观,很容易做出来的东西辣眼睛……
所以想做好数据可视化,就要有合适的配色方案。除了可以借鉴参考配色网站的案例,也可以自己自定义一套配色方案。
如何去自定义呢?
我倒是有一个想法,配色的美感需要培养,但在一开始可以在优秀的作品上寻找灵感,比如经典电影、海报、风景图、logo等等,这些都是绝佳的参考。
那么,我们用python能不能做到呢?
答案当然是可以,毕竟python除了不能生孩子,什么都能做!
提取图片中的配色在python中对图片进行操作,最常用的两个模块就是pil和opencv了。所以一开始我的方案是,用python库打开图片,然后遍历像素颜色,最后按照色彩比例进行排序,即可得到该图片的配色方案。
结果做到一半,我发现自己忽略了一件事。大家都知道,python 是一门优雅的语言,简洁的语法,强大的功能。同时它还有拥有极其丰富的第三方库,这些库几乎都可以在github 或者 pypi上找到源码。
于是我搜了一下,确实有相关的库可以提取图片中的配色,那我们就不用重复造轮子了。
这个模块就是—— haishoku ,可以用于从图像中获取主色调和主要配色方案。
具体用法,还是先安装
pip install haishoku将前文提到的海上夕阳图,保存到本地并命名为test.png。
from haishoku.haishoku import haishokuimage = 'test.png'haishoku = haishoku.loadhaishoku(image)导入模块,运行代码会返回一个haishoku实例,你可以通过实例属性haishoku.dominant 和 haishoku.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)
那么,这套配色方案应用到了数据可视化中,会是怎么样呢??

宏程序提供了替代其他雷尼绍触发式循环的有力方案
Arasan推出超低功耗D-PHY IP
教育机器人的优势和劣势_教育机器人的种类
e络盟备有 Vishay Super 12 现货,可当天发货
单片机四位时钟电路设计方案汇总(四款电路图及程序分享)
Python 可视化如何配色
AN5120N引脚功能及电压参数
全面解读锂电池储能电芯产业链现状
基于Raspberry Pi 5的蜂窝物联网项目
5G标准专利,都在谁手里?
盘点Mini LED车载相关企业及进度
三星发布旗下首款5G基带芯片
超快激光微纳加工对空间光调制器的要求
NVIDIA收购ARM或将迎来反转,英国考虑否决的相关事宜
高频机是什么机器_高频机维修方法
英伟达与三星达成晶圆代工协议已证实 抢单大战正式开打
小米MIX2发布会日期确定,小米Note3包装盒曝光,小米Note3或成为彩蛋?
博士科技:技术市场建设运营“扬州模式”4年蝉联省级第一
Wind River与飞思卡尔强化双方长期合作关系
涡流损耗与磁滞损耗有什么区别?