学术图表的基本配色方法
不论是商业图表还是专业图表,图表的配色都极其关键。图表配色主要有彩色和黑白两种配色方案。刘万祥老师曾提出:
“在我看来,普通图表与专业图表的差别,很大程度就体现在颜色运用上。”
对于科学图表,大部分国内的期刊杂志要求黑白的论文图表;而国外大部分的期刊杂志允许彩色的图表。科学论文图表基本是按照《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() 会返回该属性的值;如果对象没有该属性,并且提供了默认值,…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...