用R语言拨开office配色模板的神秘面纱
想必经常使用office的童鞋(无论你用的Word、PPT、还是Excel),经常会遇到这样的问题,如果做出来的图表不加修饰的话,然后效果就非常的不fashion。
通常来讲,office内置的配色模板都算不上精良,可是没有办法呀,谁让偌大的地球,只有微软一家开发出了完善的office办公平台了吧(虽然有些组件是收购的,某软只是做了整合的工作)。
可是你要知道,微软是一年技术驱动的公司(至少跟苹果这种设计驱动的公司相比的话),你要让哪些整天码代码的码农给你设计好看的配色,这个也有点儿不现实不是(真的跟公司创始人和企业文化有关,想想当年乔布斯为什么竭力地址IE和Windows甚至不惜自己开发了一套MAC平台使用的演示文稿软件——keynote)。
这种配色的不协调、不养眼、没品位在office2003及以前版本中体现的深(不过也不可以过分苛责、毕竟整个社会的审美水平也是有选序渐进的趋势)。
好吧,说到这里,小魔方就给大家展示一下自己所使用平台的office官方默认配色系统是什么样的:
因为office系统组件贡献配色模板,所以这里给大家对比下Word、PPT、Excel的配色模板入口:
word:设计——颜色——下拉菜单
Excel:页面布局——主题——颜色
ppt:视图——幻灯片模板——背景——颜色
本人office版本及系统信息:
W10专业版(64) office2016(64)
那么接下来大家可能要问了,如果要想要自己定义配色模板是否可行呢,yes of course!
方法很简单,我刚才已经强调过一点,office平台所有组件共享诸多模块,当然也包含配色模板,也就是说,无论你在那个组件界面自定义了色板,终都会保存在office平台公用的自定义配色模板文件夹里。(确实如此,无论是在Word界面自定义、还是Excel甚至PPT或者其他office组件内自定义配色模板,终都会保存在同一个公用自定义配色模板文件夹,但是在软件界面你无法看到该文件保存的路径)。
所以说你就不用纠结应该在哪儿设置自定义配色了,那么我们就用Excel做一个尝试吧~
当你在Excel软件界面的页面布局——颜色下拉菜单底部点击自定义配色的时候,弹出菜单如下:
主题颜色一共12个选项,前四个是分深浅的两组文字背景颜色,中间6组是以着色1:6进行编号命名的颜色组合(通常用在系列配色中,如图表序列、线条系列等)。后两个是超链接颜色(包括默认颜色和访问过的颜色显示)。
自定义模板一般来说是定义3:10这8个颜色,因为这也是显示在你软件界面配色选项中排的颜色(无论是字体颜色菜单、形状填充颜色菜单还是线条颜色菜单都是如此)。至于颜色1和颜色2为何不显示这个问题我也很纳闷,后两个超链接颜色用的频率不高可以忽略。
随意打开一个颜色对应下拉框,你就可以看到很熟悉的调色板,没错跟软件主界面的字体、线条和图形填充颜色菜单一模一样,接下来就不用我说了,自己选就行。
定义完目标色之后,点击保存,在公用配色模板目录就会多一个配色模板(.xml格式,没错就是xml,透露一个秘密,office文档结构其实是一组.xml文件组成的压缩包,不信你用任意一个docx、pptx、xlsx文档修改后缀名为.rar,然后用解压软件打开仔细看看里面都放了什么东西,有惊喜哦~)
我保存了一个名为balalala的自定义配色模板。然后……
对吧,我没有骗你吧,确实是定义一个,所有的软件都可以共用——
接下来做一些有挑战性的事情,既然office平台的配色模板是.xml格式的文件,那么我们可不可以不用再软件里面手动定义,而直接生成符合xml语法格式的配色模板文件呢~
答案当然是可以的啦,不过做这个需要你掌握以下两点知识:
1、知道office配色模板的存放路径:
一般有两类模板,一类是系统模板,就是安装软件时候,系统自动加载的,一般配色都不甚好看,显示在颜色下拉菜单的第二个栏目,而自定义模板可以给大家充分发挥想象力的空间。一般显示在颜色下拉菜单的个部分。
模板的路径如下(个人电脑的路径,其他平台及品牌类比操作):
系统:C:\Program Files\Microsoft Office\root\Document Themes 16\Theme Colors
自定义:C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Document Themes\Theme Colors
2、了解xml语法结构,并会适当修改色值。(只是了解,不要求会写,事实上看不懂没关系,我也不会写,一会儿会一步一步的教你拆解xml)。
接下来我们就来拆拆拆~
首先先随便自定义一个模板(在软件里面自定义),然后定位到自定义模板文件夹里:将xml文件用txt记事本打开(notpad++也可以),随便浏览下xml文档结构:
看吧,其实模板也没啥神秘的,xml语法结构树中,包含了刚才自定义的所有12中颜色的十六进制色值信息。(数一数一共几个val)。
但是介于好多小伙伴没有xml基础,txt记事本没有标注xml机构的功能,本文全部是紧凑排列的,挤在一起看不出来什么。
这里我将其导入R中,使用规范的xml解析工具来拆解xml文档。
library(XML)
library(plyr)
library(dplyr)
library(scales)
setwd("C:/Users/Administrator/AppData/Roaming/Microsoft/Templates/Document Themes/Theme Colors")
color2<-xmlTreeParse("balalala.xml",useInternalNodes=TRUE)
color2
相关文章