学术图表的基本配色方法
不论是商业图表还是专业图表,图表的配色都极其关键。图表配色主要有彩色和黑白两种配色方案。刘万祥老师曾提出:
“在我看来,普通图表与专业图表的差别,很大程度就体现在颜色运用上。”
对于科学图表,大部分国内的期刊杂志要求黑白的论文图表;而国外大部分的期刊杂志允许彩色的图表。科学论文图表基本是按照《Author Guidelines》的要求来制作的,最大的区别在于色彩,优秀的图表配色能够给人一种赏心悦目的感觉,更能激起读者对文章内容的兴趣。
Excel的默认配色主题
Excel 2013以上版本引入了“颜色主题”的概念。通过“页面布局”→“主题”→“颜色”,可以看到很多种颜色主题,如图1-3-1(a)所示。我们可以通过改变“颜色主题”全局改变Excel中字体、单元格、图表等对象的配色,该功能类似于某些软件中的换肤功能。
如图1-3-1(b)所示,选择“自定义颜色”,弹出“新建颜色主题”的对话框,自定义颜色主题,需要时可通过颜色面板快速调用。

Excel 2016绘图默认配色就是图1-3-1(a)中的“自定义1”颜色主题,如图1-3-1©中淡蓝色方框所示。其实,在图1-3-1©的颜色主题中,有许多衍生的颜色主题,包括彩色和单色两种类型供选择。利用图1-3-1©的颜色主题绘制的效果图,如图1-3-4所示。
Excel的颜色主题修改
在Excel中选择颜色选项,我们可以看到 Excel 的颜色模板及其修改入口,如图1-3-2(a)所示。颜色模板部分包括“主题颜色”、“标准颜色”和“最近使用颜色”,“主题颜色”就是通过颜色主题类型来控制和改变的。选择底部的“其他颜色”,可以跳出如图1-3-2(b)标准颜色选项卡和图1-3-2©自定义颜色选项。
在“标准”选项卡中,我们可以选择很多预设的颜色,但是我们一般很少使用。在“自定义”选项卡中,我们可以通过输入特定的RGB值来精确指定颜色,这里就是我们用来突破默认颜色的地方。(说明:计算机一般通过一组代表红、绿、蓝三原色比重的RGB 颜色代码来确定一个唯一的颜色,R,G,B的取值范围都是属于[0, 255])。任何颜色都可以通过R,G,B调配出来,所以我们只要得到一种颜色的R,G,B数值,就可以把这种颜色还原出来。

Excel的颜色主题导入
Excel本身的颜色主题保存格式为.xml,你可以找到Excel对应的保存地址导入或者导出。所以如果有现成的xml文件,将.xml文件复制到类似如下的地址:(根据你的电脑用户名等,如:Peter)
C:\Users\Peter\AppData\Roaming\Microsoft\Templates\Document Themes\Theme Colors\
那么,你就直接可以使用导入的颜色主题方案。EasyCharts团队开发的Excel插件EasyCharts可以自带这些颜色主题方案,安装插件就可以直接使用。

Excel专业图表配色突破
我们觉得R语言中ggplot2绘图精美的一个重要原因就是它清新亮丽的灰色背景配上赏心悦目的数据系列颜色。它的配色确实让很多软件都汗颜啊,所以Python语言在matplotlib包的基础上设计了prettyplotlib 和seaborn包,专门用来仿制ggplot的绘图风格。Matlab也不敢落后,在Matlab 2014版上对绘图配色方面作了很大的改进。
表1-3-1 显示了R语言ggplot2包、Tableau软件、Python语言seaborn包、D3.js中的部分常用配色方案。我觉得赏心悦目的配色方案远远不止这些,但是我觉得我们只要掌握并熟练运用1到2种完美的配色方案,就已经能满足平常的论文绘图需求。在这里跟大家推荐两本关于ggplot2的经典书籍:《ggplot2 Elegant Graphics for Data Analysis》和《R.Graphics.Cookbook》。
1. R语言ggplot包的官网:
http://docs.ggplot2.org/curren/;Colors (ggplot2): http://www.cookbook-r.com/Graphs/Colors_(ggplot2)/;
2.Tableau软件的官网:
Tableau Viz Gallery: http://www.tableau.com/learn/gallery;
3.Python语言seaborn包的官网:
About | Michael Waskom: http://web.stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html;
4.D3.js的官网:
D3.js - Data-Driven Documents: http://d3js.org/;

使用Excel默认颜色绘制的系列图表如图1-3-4所示。根据1.3.1的Excel颜色修改方法,利用R ggplot2 Ste1、Set2和Tableau 10 Medium 配色方案对图1-3-4的颜色进行修改调整后的效果,分别如图1-3-5、1-3-6和1-3-7所示。通过对比发现,ggplot2和Tableau的颜色方案确实不错!




考虑到微信发布的图表不太清晰,现把图1-3-6单独放在下文供大家赏析。以上图表都是使用Excel 2016 仿制的R ggplot2 风格。




相关文章:
学术图表的基本配色方法
不论是商业图表还是专业图表,图表的配色都极其关键。图表配色主要有彩色和黑白两种配色方案。刘万祥老师曾提出: “在我看来,普通图表与专业图表的差别,很大程度就体现在颜色运用上。” 对于科学图表,大部分国内的期…...
【学习笔记】Webpack5(Ⅱ)
Webpack 3、高级篇 3.1、提升开发体验 —— SourceMap 3.2、提升打包速度 3.2.1 HotModuleReplacement 3.2.2 OneOf 3.2.3 Include / Exclude 3.2.4 Cache 3.2.5 Thread 3.3、减少代码体积 …...
oracle碎片整理
1、move碎片整理 1) DECLARE tmp_val VARCHAR2 (500); BEGIN FOR REC IN (SELECT TABLE_NAME FROM USER_TABLES ) LOOP tmp_val:=ALTER TABLE || REC.TABLE_NAME || MOVE; BEGIN EXECUTE IMMEDIATE tmp_val; DBMS_OUTPUT.ENABLE(buffer_size => null); DBMS_OUTPUT.put_l…...
民国漫画杂志《时代漫画》第15期.PDF
时代漫画15.PDF: https://url03.ctfile.com/f/1779803-1247458444-8befd8?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!...
Alamofire常见GET/POST等请求方式的使用,响应直接为json
Alamofire 官方仓库地址:https://github.com/Alamofire/Alamofire xcode中安装和使用:swift网络库Alamofire的安装及简单使用,苹果开发必备-CSDN博客 Alamofire是一个基于Swift语言开发的优秀网络请求库。它封装了底层的网络请求工作&…...
三分钟一条AI小和尚视频 ,日引300+创业粉。单日变现四位数 全套工具
经过六个月的不懈努力和无数次的尝试错误,我终于找到了一个高效引流和积累粉丝的新策略,并愿意与大家无私分享。这一次,我将详尽地介绍这个方法,建议朋友们多次观看以彻底掌握其精髓。 简而言之,该策略主要依托于AI绘…...
vue3中表格中通过判断某个字段来设置对应按钮和消息提示的disabled展示
vue3中表格中通过判断某个字段来设置对应按钮和消息提示的disabled展示 一、前言1.代码案例2.效果展示 一、前言 当使用 Vue 3 和 Element UI 的 el-table 组件时,你可以通过判断字段的值来设置对应的 el-button 的 disabled 属性和消息提示。下面是一个简单的示例…...
产品经理-交互说明撰写(八)
1. 交互说明 交互说明可以看做是交互设计师或者产品经理输出的最核心的”产品“交互说明面向的”用户“是下游的同事 ⇒ UI设计师、开发工程师、测试工程师 2. 基本交互形式 2.1 页面交互 2.2 元素控件交互 3. 交互说明主要包括以下3个维度 3.1 页面流程(页面之…...
Rust:struct 与字节序列的相互转换
在 Rust 中,将结构体(struct)与字节序列(Vec<u8>)相互转换的常见方法是使用序列化和反序列化库。Rust 有一个流行的序列化库叫做 serde,它支持多种数据格式。为了将结构体转换为字节序列,…...
在https的系统中挂载其他http系统的画面的解决方案
目录 1.问题及说明 2.解决方案及示例 3.总结 1.问题及说明 A系统使用了https,在A系统中挂载B系统的http的画面,会报错如下: Mixed Content: The page at https://beef.zz.com/front/#/biz/cultivationList/cultivationDetails/5dbf836751…...
mysql存储比特位
一、介绍 二、SQL CREATE TABLE bits_table (id INT PRIMARY KEY AUTO_INCREMENT,bit_value BIGINT UNSIGNED );-- 插入一个 8 位的 BIT 值 INSERT INTO bits_table (bit_value) VALUES (B10101010);-- 查询并格式化输出 SELECT id,bit_value,CONCAT(b, LPAD(BIN(bit_value),…...
Lua中table.sort()使用方式
table.sort(tab,compare) 参数如下: tab:表名 compare:比较规则函数名 简略写法: a {1,2,3} table.sort(a,function(a,b) return a>b end) compare这个参数是一个函数,它有两个参数,你可以理解为表中的两个不同元素&…...
数组与指针声明小问题
1、int *p &a; 是 C 语言中的一条语句,它涉及指针的声明和初始化。让我们逐步解释这一行代码的含义: int *p:这是一个指针声明。它声明了一个名为 p 的变量,该变量是一个指向 int 类型数据的指针。 &a:这是取…...
【Java】手把手学会数组的使用
数组的基本用法 创建数组 基本语法: // 动态初始化 数据类型 [] 数组名称 new 数据类型 [] { 初始化数据 }; // 静态初始化 数据类型 [] 数组名称 { 初始化数据 }; 代码示例: int[] array1 {1,2,3,4,5};int[] array2 new int[]…...
音视频开发9 FFmpeg 解复用框架--如何将一个影音文件(mp4文件/wav文件) 最终播放起来
一,播放器框架 二 常用音视频术语 容器/文件(Conainer/File): 即特定格式的多媒体文件, 比如mp4、flv、mkv等。 媒体流(Stream): 表示时间轴上的一段连续数据࿰…...
vue实现页面渲染时候执行某需求
1. 前言 在之前的项目中,需要实现一个监控token是否过期从而动态刷新token的功能,然而在登录成功后创建的监控器会在浏览器刷新点击或者是通过导航栏输入网址时销毁... 2. 试错 前前后后始过很多方法,在这里就记录一下也许也能为各位读者排…...
Python小游戏——俄罗斯方块
文章目录 项目介绍环境配置代码设计思路1.初始化和导入库:2.定义颜色和屏幕尺寸:3.定义游戏逻辑:4.游戏循环: 源代码效果图 项目介绍 俄罗斯方块游戏是一款经典的益智游戏,玩家通过旋转和移动各种形状的方块ÿ…...
Moto和Inter字节序
inter: 低地址按照start_bit位放低字节依次往高字节填充 MotoLsb: 低地址按照start_bit位放高字节,依次往低字节填充MotoMsb:高字节按照start_bit位放低地址,依次往高字节填充...
外汇天眼:野村证券和Laser Digital与GMO互联网集团合作发行日元和美元稳定币
野村控股和Laser Digital将与GMO互联网集团合作,在日本探索发行日元和美元稳定币。GMO互联网集团的美国子公司GMO-Z.com Trust Company, Inc. 在纽约州金融服务部的监管框架下,在以太坊、恒星币和Solana等主要区块链上发行稳定币。GMO-Z.com Trust Compa…...
Python怎么使用getattr?
getattr() 是 Python 的内置函数,用于获取对象的属性值。它接受三个参数:对象、属性名称以及一个可选的默认值。如果对象具有指定的属性,getattr() 会返回该属性的值;如果对象没有该属性,并且提供了默认值,…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
