当前位置: 首页 > news >正文

R语言论文插图模板第8期—特征渲染的散点图

在之前的文章中,分享了R语言分组散点图的绘制模板:

进一步,再来分享一下特征渲染的散点的绘制方法。

先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以在同名公号阿昆的科研日常后台回复关键词【全家桶】查看加群方式


1. 数据准备

此部分主要是读取原始数据,并进行绘图前的预处理

# 加载库library(readxl)library(tidyr)library(ggplot2)# 修改工作路径# setwd("D:/R")# 读取数据data <- read_excel("data.xlsx")# 抽稀data <- data[seq(1,nrow(data),5),]# 将数据转换为数据框格式data <- as.data.frame(data)

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheBestColors配色工具中的SCI顶刊配色

library(TheBestColors)map <- Best100(91)

3.特征渲染的散点图绘制

利用‘geom_point’函数,绘制初始特征渲染的散点图

p <- ggplot(data,aes(x=X,y=Y,color=Feature)) +  geom_point(size=0.8)+  coord_fixed()+  labs(x = NULL, y = NULL) +  scale_color_gradientn(colors = map)print(p)

4. 细节优化

为了插图的美观,对坐标轴细节等进行美化,并按期刊所需分辨率、格式输出图片。

# 细节调整p+scale_x_continuous(expand = c(0,0))+ # x坐标轴与绘图区域边缘的扩展量  scale_y_continuous(expand = c(0,0))+ # y坐标轴与绘图区域边缘的扩展量  theme_classic(base_size = 8) + # 设置基本字号为8pt  theme(    panel.border = element_rect(size=0.2,fill = 'transparent'), # 添加全框线    axis.line = element_blank(), # 删除原始轴线    axis.ticks.length = unit(1, "mm"), # 设置刻度线的长度    legend.position = 'right', # 设置图例位置    axis.text = element_text(size = 10), # 设置坐标轴标签字号和颜色    axis.text.y = element_text(angle = 90,hjust=0.5), # y轴刻度标签旋转90度    legend.text = element_text(size = 10), # 设置图例文本字号    axis.title = element_text(size = 10), # 设置坐标轴标题字号  )# 图片导出ggsave("特征渲染的散点图.png",  width = 16, height = 12, units = "cm", dpi = 600)

以上。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • YoloV8改进策略:主干网络改进|CAS-ViT在YoloV8中的创新应用与显著性能提升
  • 独立开发者系列(45)——PHP的时间处理详解
  • (160)时序收敛--->(10)时序收敛十
  • 单链表——相交链表
  • 安美数字酒店宽带运营系统-任意文件读取
  • xss-labs通关攻略 16-20关
  • 【GIT】Idea中的git命令使用-全网最新详细(包括现象含义)
  • 【管理型文档】软件需求管理过程(原件)
  • qemu 跨架构
  • linux系统中内存和缓冲简介
  • 小实战项目-第二章2.1-IIC协议讲解? 什么是软件IIC 什么是硬件IIC 有什么区别如何编写代码--这章节主要讲解软件IIC,下一章节讲解硬件IIC协议
  • 哈夫曼树例题
  • Matlab R2022b使用Camera Calibrator工具箱张正友标定法进行相机标定附带标定前后对比代码
  • 论文翻译:Multi-step Jailbreaking Privacy Attacks on ChatGPT
  • 设计模式(四)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【面试系列】之二:关于js原型
  • CEF与代理
  • ES6 学习笔记(一)let,const和解构赋值
  • HTML中设置input等文本框为不可操作
  • Python 基础起步 (十) 什么叫函数?
  • Swift 中的尾递归和蹦床
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 京东美团研发面经
  • 原生Ajax
  • ​虚拟化系列介绍(十)
  • #{}和${}的区别是什么 -- java面试
  • (1)Android开发优化---------UI优化
  • (算法)N皇后问题
  • (转)Sql Server 保留几位小数的两种做法
  • (转)母版页和相对路径
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .net 受管制代码
  • .net操作Excel出错解决
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET企业级应用架构设计系列之应用服务器
  • ::
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @RestController注解的使用
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ IO.File ] FileSystemWatcher
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [Angular] 笔记 21:@ViewChild
  • [AR Foundation] 人脸检测的流程
  • [BetterExplained]书写是为了更好的思考(转载)
  • [C#学习笔记]注释
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [hibernate]基本值类型映射之日期类型
  • [HTML]Web前端开发技术12(HTML5、CSS3、JavaScript )——喵喵画网页
  • [IMX6DL] CPU频率调节模式以及降频方法