python画图配色_python语言,文章绘图配色高级又简单!
配色的选择是在我们论文文章画图过程中经常面临的一个问题。常用的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语言,文章绘图配色高级又简单!相关推荐
- python配色_python语言再次解决文章配色难题
配色的选择是在我们论文文章画图过程中经常面临的一个问题.常用的R或python语言都内置了默认的颜色系统,强大的默认设置可以满足我们的绘图需求. 但当我们需要绘制更多的图形时,固定的配色就会显得重复, ...
- python画图角度_Python画图
Python画图 使用Echarts Echarts是百度开源的js绘图工具, pyecharts是Echarts的封装, 安装pip install pyecharts. pyecharts只能将绘 ...
- sci论文配色-科研论文可视化绘图配色(转送站)
转送站:sci论文配色-生信论文可视化绘图配色[个人收集]_Cccrush的博客-CSDN博客 [SCI]中文核心.SCI论文绘图和图片配色_浪里小飞侠的博客-CSDN博客_sci配色 推荐几个科研数 ...
- python画图横坐标_python画图把时间作为横坐标的方法
1.需要将时间字符串转换成datetime类型,语法:data['time'] = pd.to_datetime(data['time']) 2.将时间列设置成索引列data.set_index('t ...
- python画图大全_python画图教程
python画图教程内容摘要 python画图教程这个方法是通过如何设置权限,郑州室内设计教程,1真品劳力士的把头.①注册微信:纹身师教程,1注册域名即是网址2申请网站空间3把要放到网上的资料做成网页 ...
- c和python的优缺点_Python语言有什么优缺点?
在很多人眼中,Python是一门全能语言,可以做很多的事情,那么你知道Python有什么优缺点吗?我想这是很多人都比较好奇的问题,我们一起来看看吧. 优点: Python是一种代表简单主义思想的语言, ...
- 用python分析小说_Python语言之用Python分析一下当年看金庸小说最爱的主角是谁
本文主要向大家介绍了Python语言之用Python分析一下当年看金庸小说最爱的主角是谁,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. jieba用起来非常简单,短短几行代码就完 ...
- python画图配色_python matplotlib包图像配色方案分享
可选的配色方案: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_ ...
- python画图实战_python实战学习之matplotlib绘图续
学习完matplotlib绘图可以设置的属性,还需要学习一下除了折线图以外其他类型的图如直方图,条形图,散点图等,matplotlib还支持更多的图,具体细节可以参考官方文档:https://matp ...
最新文章
- SAP QM初阶之事务代码CR05查询QM Work Center List
- python自动化办公脚本下载-基于python实现自动化办公学习笔记二
- eclipse中导入spring-boot框架的jar包方法
- [深度学习基础] 2. 线性分类器
- 【GIS风暴】什么是地理空间智能(Geospatial AI)?
- 【2018山东省赛 - A】Anagram(贪心,费用流,KM算法)
- 有多少漏洞都会重来:从ElasticSearch到MongoDB和Redis
- 的序号数据是什么_Excel技巧—一劳永逸制作自动更新序号
- linux下文件下载中文,LINUX环境下资源下载中文目录及中文文件名称问题
- 修理牧场 (25 分)(优先队列 简单)
- 基于SpringCloud+MySQL+Mybait+Vue的数字货币交易系统(附:源码+课件)
- IOS 高德地图导航
- Multi-modality Latent Interaction Network for Visual Question Answering阅读笔记
- 四六级英语听力软件测试,三款精品英语听力软件,提高四六级听力有诀窍
- ubuntu双显示器下发生的问题
- HTML5+CSS期末大作业:运动体育网站设计主题——体育铅球(5页)带注册 期末作业HTML代码
- win10系统 纯净版 安装
- 引流脚本有用吗,日引流上千粉的引流脚本是怎么回事
- 小程序公告php实现,小程序两种滚动公告栏的实现方法
- dvajs的mock数据使用
热门文章
- 字节跳动将双月OKR调整为季度;马斯克批OpenAI违背初心:被微软控制,只顾赚钱;苹果上新348元省电保护膜|极客头条...
- MacBook Pro出现kernel_task占用CPU非常高问题
- 渗透测试的8个步骤—转载
- 用Java写一个监视者模式
- linux-应用-压缩与解压小结
- 关于 石墨文档客户端 的案例分析
- 软件授权解决方案FlexNet Publisher
- qt学习总结之探索Qt的安装目录结构
- DPU网络开发SDK——DPDK(二)
- 武田收到CHMP肯定意见,推荐ALUNBRIG(R) (brigatinib)用于治疗既往用过克唑替尼的ALK+非小细胞肺癌患者