R包:ggsci期刊配色

news2024/12/23 11:09:39

介绍

不同期刊配色大多数时候不一样,为了更好符合期刊图片颜色的配色,有人开发了ggsci这个R包。它提供以下函数:

  • scale_color_palname()

  • scale_fill_palname()

对应不同期刊的color和fill函数。

导入数据+R包

library("ggsci")
library("ggplot2")
library("gridExtra")

data("diamonds")

p1 <- ggplot(subset(diamonds, carat >= 2.2),
       aes(x = table, y = price, colour = cut)) +
       geom_point(alpha = 0.7) +
      geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +
      theme_bw()

p2 <-  ggplot(subset(diamonds, carat > 2.2 & depth > 55 & depth < 70),
          aes(x = depth, fill = cut)) +
          geom_histogram(colour = "black", binwidth = 1, position = "dodge") +
          theme_bw()

NPG: Nature Publishing Group

p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)

AAAS: American Association for the Advancement of Science

p1_aaas <- p1 + scale_color_aaas()
p2_aaas <- p2 + scale_fill_aaas()
grid.arrange(p1_aaas, p2_aaas, ncol = 2)

NEJM:The New England Journal of Medicine

p1_nejm <- p1 + scale_color_nejm()
p2_nejm <- p2 + scale_fill_nejm()
grid.arrange(p1_nejm, p2_nejm, ncol = 2)

Lancet: Lancet journals

p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)

JAMA: The Journal of the American Medical Association
p1_jama <- p1 + scale_color_jama()
p2_jama <- p2 + scale_fill_jama()
grid.arrange(p1_jama, p2_jama, ncol = 2)

UCSCGB: UCSC Genome Browser

p1_ucscgb <- p1 + scale_color_ucscgb()
p2_ucscgb <- p2 + scale_fill_ucscgb()
grid.arrange(p1_ucscgb, p2_ucscgb, ncol = 2)

Tron Legacy

p1_tron <- p1 + theme_dark() + theme(
    panel.background = element_rect(fill = "#2D2D2D"),
    legend.key = element_rect(fill = "#2D2D2D")) +
  scale_color_tron()
p2_tron <- p2 + theme_dark() + theme(
    panel.background = element_rect(fill = "#2D2D2D")) +
  scale_fill_tron()
grid.arrange(p1_tron, p2_tron, ncol = 2)

GSEA: GSEA GenePattern

library("reshape2")

data("mtcars")
cor <- cor(unname(cbind(mtcars, mtcars, mtcars, mtcars)))
cor_melt <- melt(cor)

p3 <- ggplot(cor_melt, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile(colour = "black", size = 0.3) +
  theme_bw() +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank())

p3_gsea <- p3 + scale_fill_gsea()
p3_gsea_inv <- p3 + scale_fill_gsea(reverse = TRUE)
grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)

Reference

  1. ggsci

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1906105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程切换与环境变量(一)

目录 一、进程切换 前提引入 二、环境变量 1.查看环境变量的方法 2.什么是环境变量 3.一些常见的环境变量 1.PATH 2.HOME 3.USER 4.SHELL 4.和环境变量有关的指令 1.echo: 2.export 3. unset: 4.env 5.set 5.知识补充命令行参数 为什么要有命令行参数 &…

Nacos 初步认识和 Nacos 部署细节

Nacos 基本介绍 Nacos 是由阿里开发&#xff0c;用于服务发现、配置管理、DNS服务的 Spring Cloud 组件&#xff0c;Nacos 一个组件可以完成 Config、Eureka、Bus 三个组件的功能&#xff0c;在当下非常受开发者欢迎。 Nacos 官网 Nacos 官网 Nacos 安装包下载 Nacos Serv…

【pulp库】混合问题

问题描述 Whiskas 猫粮由 Uncle Ben’s 生产。 本叔叔希望尽可能便宜地生产他们的猫粮产品&#xff0c;同时确保它们符合规定的营养分析要求显示在罐头上。因此&#xff0c;他们希望改变每个的数量 使用的成分&#xff08;主要成分是鸡肉、牛肉、羊肉、 大米、小麦和凝胶&#…

VPN 的入门介绍

VPN&#xff08;虚拟专用网络&#xff09; 简介 虚拟专用网络&#xff0c;简称虚拟专网&#xff08;VPN&#xff09;&#xff0c;其主要功能是在公用网络上建立专用网络&#xff0c;进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实…

AI机器人在企业拓客上常见的功能有哪些

AI机器人具备多种功能&#xff0c;这些功能主要基于其被设计和训练的目的。整理了一些常见的AI机器人功能&#xff1a; 1. 语音识别与自然语言处理&#xff1a; - 语音识别&#xff1a;将用户的语音输入转换为文本&#xff0c;以便机器人可以理解和处理。 - 自然语言处理…

Xilinx FPGA:vivado关于fifo的一些零碎知识

一、FIFO概念 先进先出&#xff0c;是一种组织和操作数据结构的方法。在硬件应用中&#xff0c;FIFO一般由一些读写指针&#xff0c;存储和控制的逻辑组成。 二、xilinx中生成的FIFO的存储类型 &#xff08;1&#xff09;shift register FIFO : 移位寄存器FIFO&#xff0c;这…

Java锁升级:无锁 → 偏向锁 → 轻量级锁 → 重量级锁

说明 JDK1.6为了减少获得锁和释放锁所带来的性能消耗&#xff0c;引入了“偏向锁”和“轻量级锁”&#xff0c;所以在JDK1.6里锁一共有四种状态&#xff0c;无锁状态&#xff0c;偏向锁状态&#xff0c;轻量级锁状态和重量级锁状态&#xff0c;它会随着竞争情况逐渐升级。锁可以…

2 ECMAScript

JavaScript 概述 JavaScript 编程语言允许你在 Web 页面上实现复杂的功能;如果你看到一个网页不仅仅显示静态的信息,而是显示依时间更新的内容,或者交互式地图,或者 2D/3D 动画图像,或者滚动的视频播放器,等等——你基本可以确定,这需要 JavaScript 的参与 JavaScript 编程语言…

如何为你的PCB选择最佳的阻焊覆盖工艺?

随着电子产品向“轻、薄、短、小”的方向发展&#xff0c;PCB也向高密度、高难度的发展&#xff0c;因此有很多SMT、PCB&#xff0c;客户在安装元件时需要插孔&#xff1b;其工艺流程长&#xff0c;过程控制困难。那么&#xff0c;PCB电路板插接工艺为何这么重要&#xff1f; 通…

B端设计:任何不顾及用户体验的设计,都是在装样子,花架子

B端设计是指面向企业客户的设计&#xff0c;通常涉及产品、服务或系统的界面和功能设计。与C端设计不同&#xff0c;B端设计更注重实用性和专业性&#xff0c;因为它直接影响企业的效率和利益。 在B端设计中&#xff0c;用户体验同样至关重要。不顾及用户体验的设计只是空洞的表…

【Proteus仿真】基于Stm32的八路抢答器~

【Proteus仿真】基于Stm32的八路抢答器~ 文档资料在购买后即可获得&#xff08;如有问题可通过微信公号或b站私信联系我&#xff09; 资料包括&#xff1a; 1. Proteus仿真源文件2. keil源代码功能描述: 1. 抢答时间设置显示2. 选手得分用时显示3. 选手数据查询/清楚4.抢答…

排产排程问题【数学规划的应用(含代码)】阿里达摩院MindOpt

本文主要讲述使用MindOpt工具优化排产排程的数学规划问题。 视频讲解&#x1f448;&#x1f448;&#x1f448;&#x1f448;&#x1f448;&#x1f448;&#x1f448;&#x1f448;&#x1f448; 一、排产排程问题 在实际生产过程中存在着各种各样的排产排程问题&#xff0c;…

【数据分析】Pandas_DataFrame读写详解:案例解析(第24天)

系列文章目录 一、 读写文件数据 二、df查询数据操作 三、df增加列操作 四、df删除行列操作 五、df数据去重操作 六、df数据修改操作 文章目录 系列文章目录前言一、 读写文件数据1.1 读写excel文件1.2 读写csv文件1.3 读写mysql数据库 二、df查询数据操作2.1 查询df子集基本方…

移动UI: 什么特征会被认为是简洁风格,用案例告诉你

什么是简洁风格&#xff0c;恐怕一百个人有一百个是理解&#xff0c;本文通过理论分析案例的方式进行探讨。 移动 UI 中的简洁风格通常具有以下几个特征&#xff1a; 1. 平面化设计&#xff1a; 简洁风格的移动 UI 善于运用平面化设计&#xff0c;即去除过多的阴影、渐变和立…

一家互联网 Web3 研发团队繁忙的一天

早晨&#xff1a;规划与准备 7:00 AM - 起床与新闻 Web3研发团队的成员们早起&#xff0c;通过区块链相关的新闻网站、论坛和社交媒体&#xff0c;了解最新的行业动态和技术发展。重点关注去中心化金融&#xff08;DeFi&#xff09;、NFT、DAO等领域的最新进展。 8:00 AM - …

Java | Leetcode Java题解之第219题存在重复元素II

题目&#xff1a; 题解&#xff1a; class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {Set<Integer> set new HashSet<Integer>();int length nums.length;for (int i 0; i < length; i) {if (i > k) {set.remove(nums[i - …

✅深入理解InnoDB中的页分裂与页合并

想要了解什么是页分裂&#xff0c;页合并&#xff0c;那么就要想知道 InnoDB 中的数据页是什么。 InnoDB 的数据页 InnoDB 的数据页是存储引擎中用于保存数据的基本单位。每个数据页是磁盘上的一个连续区域&#xff0c;通常大小为 16KB&#xff0c;当然&#xff0c;这个大小可…

map和set的原理、优劣势、应用场景和示例代码,统统告诉你。

map和set的原理都是基于哈希表实现的&#xff0c;通过哈希值来快速查找和插入元素&#xff0c;从而实现高效的数据存储和管理&#xff0c;那么他们之间有什么不同呢&#xff0c;该如何选择&#xff0c;本文带你了解。 一、map和set的原理 map和set都是数据结构&#xff0c;用…

新浪API系列:微博API探索社交数据价值(1)

微博API为创作者和开发者提供了一个探索社交数据价值的宝贵机会&#xff0c;助力他们在创新发展中取得成功。通过微博API&#xff0c;用户可以轻松访问和获取微博平台上丰富的社交数据。这些数据包括用户信息、关注列表、粉丝互动等&#xff0c;为创作者和开发者提供了深入了解…

基于CesiumJs的可视化大屏,效果不是一般的震撼。

CesiumJS是一个用于创建三维地理信息系统&#xff08;GIS&#xff09;应用程序的开源JavaScript库。它提供了强大的地理空间数据可视化和交互功能&#xff0c;可以用于构建虚拟地球、地图、飞行模拟等应用。 1. 三维地理空间可视化&#xff1a; CesiumJS支持将地理空间数据以三…