配色的选择是在我们论文文章画图过程中经常面临的一个问题。常用的R或python语言都内置了默认的颜色系统,强大的默认设置可以满足我们的绘图需求。

但当我们需要绘制更多的图形时,固定的配色就会显得重复,此时通过自定义颜色就可以丰富图形的表现。但是当遇上选择困难户这又诞生了一个更大的问题。随机的选择又不能满足一个处女座该有的挑剔,这可怎么办呢?下面小鹿将介绍一种从艺术画作中提取特征颜色的新奇思路,让名家审美来满足挑剔的你~

GRB颜色空间

要想学会配色,首先要对颜色有一定的认知。RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,俗称三基色模式。每一种颜色按其亮度的不同分为256个等级,可表示256的立方16777216种不同的颜色,是计算机使用最广泛的颜色空间。

将图片中的每个像素绘制到三维空间如图所示:

印象派

什么是印象派风格?19世纪60年代,法国画家克劳德·莫奈(Claude Monet)的一幅油画《日出·印象》因为过于粗糙、随便,受到一位记者嘲讽:“完全是凭印象胡乱画出来的。”;又比如荷兰后印象派画家文森特·梵高,都是“印象主义”。随着时间推移,印象派逐渐成为西方绘画史上划时代的艺术流派。印象主义采取在户外阳光下直接描绘景物,光影色彩丰富。文章图形配色以这些经历了历史沉淀的大师作品作为配色依据,从中提取主题颜色备选成为了文章配色的一种思路。

主题颜色的提取

可从图片中提取主题色算法有颜色量化法(Color Quantization)、聚类(Clustering)和颜色建模等方法。下图为通过聚类算法,提取部分印象派画作主题色,以十六进制表示。

图1| 莫奈名画

图2 |梵高名画

从图片中提取主题颜色,取决于图片颜色本身的组成,一般选取颜色对比分明的图片效果较好,同时因为组成颜色的像素一般远超过聚类数,会在每个聚类中选取特征色作为主题色的组成,因此主题色的组成会根据聚类数的不同而不同。当主题色提取完成以后,可以从中选取具有对比强烈的颜色进行绘图!

如何实现呢?

In [14]:

importos

importmatplotlib.pyplotasplt

importmatplotlibasmpl

from sklearn.clusterimportMiniBatchKMeans, KMeans

os.chdir(r"C:\Users\Pioneer\Desktop\color")

img = plt.imread("test.jpg")

img0 = img

img=img.reshape(img.shape[0]*img.shape[1],3)

p=KMeans(n_clusters=7)

p.fit_predict(img)

centroids=p.cluster_centers_ / 255

cmap=mpl.colors.ListedColormap(centroids)

l = centroids.tolist()

l.sort(key=lambda x:sum(x))# 将 RGB 转为十六进制

defRGB_to_Hex(tmp):

rgb = [x * 255 for x in tmp]  # 将RGB格式划分开来

strs = '#'

for i in rgb:

num =int(i) # 将str转int

strs += str(hex(num))[-2:].replace('x', '0').upper()

return strs

c = []

fori in l:

c.append(RGB_to_Hex(i))

# 图像显示

fig=plt.figure(figsize=(5,5)

rect1 = [0.1, 0.3, 0.8, 0.65]

ax1 = plt.axes(rect1)

plt.imshow(img1)

ax1.axis("off")

rect2 = [0.1, 0.05, 0.8, 0.2]

ax2 = plt.axes(rect2)

n = 7

lx = []

for i inrange(n):

lx.append((i*6,i*6+6))

ax2.broken_barh(lx, (6*(n-1)/2, 24), facecolors=c)

ax2.set_ylim(0, 6*n)

ax2.set_xlim(0, 6*n)

for j,k inzip(range(n),c):

x = j*6+3

y = 6*(n-1)/2-18

plt.text(x,y,k,fontsize=8,rotation=30,ha='center')

plt.axis("off")print(c)

['#2B1818', '#304158', '#914728', '#497EA9', '#DC8B2E', '#76CAED', '#D5CCA3']

参照以上方式,大师配色方法就学到手啦~对于我们文章的美观度和准确性将更进一部分的提升,谁说配色不重要呢?处女座该有的挑剔你千万不要放过哦~

鹿明生物的知识小分享将与您常伴,欢迎关注鹿明生物公众号,更多生信知识分享不停歇哦~

猜你还想看

END

python画图配色_python语言,文章绘图配色高级又简单!相关推荐

  1. python配色_python语言再次解决文章配色难题

    配色的选择是在我们论文文章画图过程中经常面临的一个问题.常用的R或python语言都内置了默认的颜色系统,强大的默认设置可以满足我们的绘图需求. 但当我们需要绘制更多的图形时,固定的配色就会显得重复, ...

  2. python画图角度_Python画图

    Python画图 使用Echarts Echarts是百度开源的js绘图工具, pyecharts是Echarts的封装, 安装pip install pyecharts. pyecharts只能将绘 ...

  3. sci论文配色-科研论文可视化绘图配色(转送站)

    转送站:sci论文配色-生信论文可视化绘图配色[个人收集]_Cccrush的博客-CSDN博客 [SCI]中文核心.SCI论文绘图和图片配色_浪里小飞侠的博客-CSDN博客_sci配色 推荐几个科研数 ...

  4. python画图横坐标_python画图把时间作为横坐标的方法

    1.需要将时间字符串转换成datetime类型,语法:data['time'] = pd.to_datetime(data['time']) 2.将时间列设置成索引列data.set_index('t ...

  5. python画图大全_python画图教程

    python画图教程内容摘要 python画图教程这个方法是通过如何设置权限,郑州室内设计教程,1真品劳力士的把头.①注册微信:纹身师教程,1注册域名即是网址2申请网站空间3把要放到网上的资料做成网页 ...

  6. c和python的优缺点_Python语言有什么优缺点?

    在很多人眼中,Python是一门全能语言,可以做很多的事情,那么你知道Python有什么优缺点吗?我想这是很多人都比较好奇的问题,我们一起来看看吧. 优点: Python是一种代表简单主义思想的语言, ...

  7. 用python分析小说_Python语言之用Python分析一下当年看金庸小说最爱的主角是谁

    本文主要向大家介绍了Python语言之用Python分析一下当年看金庸小说最爱的主角是谁,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. jieba用起来非常简单,短短几行代码就完 ...

  8. python画图配色_python matplotlib包图像配色方案分享

    可选的配色方案: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_ ...

  9. python画图实战_python实战学习之matplotlib绘图续

    学习完matplotlib绘图可以设置的属性,还需要学习一下除了折线图以外其他类型的图如直方图,条形图,散点图等,matplotlib还支持更多的图,具体细节可以参考官方文档:https://matp ...

最新文章

  1. SAP QM初阶之事务代码CR05查询QM Work Center List
  2. python自动化办公脚本下载-基于python实现自动化办公学习笔记二
  3. eclipse中导入spring-boot框架的jar包方法
  4. [深度学习基础] 2. 线性分类器
  5. 【GIS风暴】什么是地理空间智能(Geospatial AI)?
  6. 【2018山东省赛 - A】Anagram(贪心,费用流,KM算法)
  7. 有多少漏洞都会重来:从ElasticSearch到MongoDB和Redis
  8. 的序号数据是什么_Excel技巧—一劳永逸制作自动更新序号
  9. linux下文件下载中文,LINUX环境下资源下载中文目录及中文文件名称问题
  10. 修理牧场 (25 分)(优先队列 简单)
  11. 基于SpringCloud+MySQL+Mybait+Vue的数字货币交易系统(附:源码+课件)
  12. IOS 高德地图导航
  13. Multi-modality Latent Interaction Network for Visual Question Answering阅读笔记
  14. 四六级英语听力软件测试,三款精品英语听力软件,提高四六级听力有诀窍
  15. ubuntu双显示器下发生的问题
  16. HTML5+CSS期末大作业:运动体育网站设计主题——体育铅球(5页)带注册 期末作业HTML代码
  17. win10系统 纯净版 安装
  18. 引流脚本有用吗,日引流上千粉的引流脚本是怎么回事
  19. 小程序公告php实现,小程序两种滚动公告栏的实现方法
  20. dvajs的mock数据使用

热门文章

  1. 字节跳动将双月OKR调整为季度;马斯克批OpenAI违背初心:被微软控制,只顾赚钱;苹果上新348元省电保护膜|极客头条...
  2. MacBook Pro出现kernel_task占用CPU非常高问题
  3. 渗透测试的8个步骤—转载
  4. 用Java写一个监视者模式
  5. linux-应用-压缩与解压小结
  6. 关于 石墨文档客户端 的案例分析
  7. 软件授权解决方案FlexNet Publisher
  8. qt学习总结之探索Qt的安装目录结构
  9. DPU网络开发SDK——DPDK(二)
  10. 武田收到CHMP肯定意见,推荐ALUNBRIG(R) (brigatinib)用于治疗既往用过克唑替尼的ALK+非小细胞肺癌患者