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

ggplot2优雅的绘制饼状热图

欢迎关注R语言数据分析指南

最近看到一张非常有意思的图,暂且称之为饼状热图,与corrplot所绘制的有所不同此图使用的为离散型变量,例图如下所展示;由于作者未提供原始数据,小编自己构建了一份数据来进行初步的展示

论文内容

Systematic profiling of the chicken gut microbiome reveals dietary supplementation with antibiotics alters expression of multiple microbial pathways with minimal impact on community structure

此图乍一看觉得似曾相识,但是仔细一看又会发现好像不是那么的容易;应该是没有现成的包来一步出图,由于作者也未有提供数据那只有靠猜数据结构来进行可视化了,细节当然是很多,小编这次只是绘制主体图,细节问题留待以后再做介绍

加载R包
library(tidyverse) library(scatterpie) library(ggsci) library(cowplot)
数据清洗
p <- read_tsv("data1.txt") %>% filter(Compartments %in% c("BS","RS","RE","VE","SE","LE")) %>% select(1,2,Compartments) %>% left_join(.,read_tsv("data2.txt") %>% column_to_rownames(var="FAPROTAX") %>% t() %>% as.data.frame() %>% rownames_to_column(var="Compartments") %>% pivot_longer(-Compartments),by="Compartments") %>% filter(Compartments=="BS", SampleID %in% c(read_tsv("data1.txt") %>% select(1) %>% distinct() %>% head(10) %>% pull())) %>% select(-value,-Compartments) %>% group_by(SampleID,name) %>% count(Phylum) %>% pivot_wider(.,names_from=Phylum,values_from = n)
构建绘图数据
df <- p %>% left_join(.,p %>% select(name) %>% distinct() %>% rownames_to_column(var="lat"),by="name") %>% mutate(long=case_when(SampleID =="BCCCK1" ~1,SampleID =="BCCCK2" ~2,SampleID =="BCCCK3" ~3, SampleID =="BCCNPK1" ~4,SampleID =="BCCNPK2" ~5,SampleID =="BCCNPK3" ~6, SampleID =="BCCNPKM1" ~7,SampleID =="BCCNPKM2" ~8,SampleID =="BCCNPKM3" ~9, SampleID =="BHLCK1" ~10),lat=as.numeric(lat))
绘制饼状热图
p1 <- ggplot(aes(x=long,y=lat),data=df) + geom_tile(color="black",fill="white")+ geom_scatterpie(aes(x=long,y=lat,r=0.4),data=df, color=NA, cols=c("Abditibacteriota","Acidobacteriota","Actinobacteriota", "Alphaproteobacteria","Bacteroidota")) + coord_equal()+ scale_fill_brewer()+ scale_x_discrete(expand = c(0,0))+ scale_y_discrete(expand = c(0,0))+ theme_test()+ theme(axis.text.x=element_text(angle = 90,vjust = 0.5,hjust = 1), axis.ticks = element_blank(), axis.text.y=element_blank(), axis.title = element_blank(), legend.title = element_blank(), legend.key=element_blank(), # 图例键为空 legend.text = element_text(color="black",size=9), # 定义图例文本 legend.spacing.x=unit(0.1,'cm'), # 定义文本书平距离 legend.key.width=unit(0.5,'cm'), # 定义图例水平大小 legend.key.height=unit(0.5,'cm'), # 定义图例垂直大小 legend.background=element_blank())
绘制文本
p2 <- df %>% select(name,lat) %>% arrange(lat) %>% mutate(type="A") %>% ggplot(aes(type,name))+ coord_cartesian(clip="off")+ scale_x_discrete(expand = c(0,0))+ # scale_y_discrete(expand = c(0,0))+ theme(panel.background = element_rect(fill="white"), axis.ticks = element_blank(), axis.text.y=element_text(color="black"), axis.title=element_blank(),axis.text.x=element_blank())
拼图
ggdraw(xlim=c(-0.45,1))+ draw_plot(p2,x=-0.4)+ draw_plot(p1,x=0.06)

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

http://www.cnnetsun.cn/news/181977.html

相关文章:

  • XUnity自动翻译器:让外语游戏秒变中文版的神奇工具
  • DownKyi终极指南:解锁B站视频批量下载的10个高效技巧
  • Unity游戏自动翻译工具XUnity.AutoTranslator完全配置指南
  • 【行业首发】AutoGLM-Phone-9B多模态对齐机制揭秘:跨模态理解准确率提升至92.7%
  • 错过等十年:2026年AI手机智能体三大稀缺能力首次公开
  • Unity游戏实时翻译技术:XUnity.AutoTranslator架构深度解析与实战配置
  • 终极指南:用XUnity.AutoTranslator轻松实现Unity游戏多语言翻译
  • 哔哩下载姬DownKyi终极指南:打造个人视频资源库的完整攻略
  • Windows右键菜单管理大师:ContextMenuManager完全使用指南
  • 5分钟掌握XUnity.AutoTranslator:游戏本地化的终极解决方案
  • DownKyi终极指南:5步掌握B站视频高效下载与管理
  • XUnity.AutoTranslator终极指南:Unity游戏实时翻译完整解决方案
  • 如何快速突破百度网盘下载限制:5种实用方法完全指南
  • pip install出现fatal error: poppler/cpp/poppler-document.h: No such file or directory的解决方案
  • GHelper:华硕ROG笔记本的终极轻量级控制解决方案
  • 炉石传说HsMod终极配置指南:解锁55项隐藏功能与性能飞跃
  • GHelper:华硕ROG笔记本的极致性能调校工具
  • LeaguePrank:英雄联盟客户端显示信息自定义工具详解
  • XUnity.AutoTranslator:让Unity游戏秒变中文的免费神器
  • 终极指南:如何利用XUnity.AutoTranslator实现Unity游戏实时翻译
  • 华硕笔记本性能优化全攻略:5分钟学会硬件精准调校
  • 在Odoo18中实现多选下拉框搜索功能
  • 【2026年AI手机智能体爆发前夜】:揭秘下一代智能终端的5大核心技术突破
  • Unity翻译插件终极指南:XUnity Auto Translator让你轻松实现游戏本地化
  • G-Helper终极指南:华硕笔记本性能优化利器
  • 终极指南:如何用XUnity.AutoTranslator一键翻译任何Unity游戏
  • HsMod完整配置教程:轻松解锁炉石传说55项隐藏功能
  • DownKyi:B站视频下载与格式转换的智能解决方案
  • XUnity.AutoTranslator终极指南:打造完美Unity游戏多语言解决方案
  • XUnity.AutoTranslator:打破语言障碍的Unity游戏翻译神器