2022-12-06 05:14:37, 多层组学定制服务 上海欧易生物医学科技有限公司
在讲交互式热图之前先来讲讲小鹿最近遇到的头疼事儿,想来大多数没有用过云工具绘图的小伙伴们应该都遇到过此类烦恼,大家是否在精修一张图的时候反复测试各种参数?比如热图?
小鹿在绘制热图的时候总是头疼这些参数
,比如热图的色阶一定要设置的既保证可以清晰的展示数据的分类,又要保持一定的美观度;
再比如热图的宽高比例修改,需要每次都反复调试找到维持保证热图全部展示又不怪异的比例;
为了避免一直在修改个别参数,作好生枯燥又机械的重复出图过程...为此,小鹿特地研究了一种新方法去完美的解决此类问题
。
只需要小鹿粉们滑动滑动鼠标,输入对应的参数,就可以实现交互式绘图的过程。是不是满心期待又充满迷惑?话不多说,小鹿这就带大家探索其中的奥妙~
通过了解交互式绘图的使用过程,想必大家更想要知道这是怎么用代码实现?下面就是小鹿的神秘代码大礼包,快来看看吧!
载入R包
在进行R图绘制前需要载入所需R包,没有安装过请先安装~
library(colourpicker)library(openxlsx)library(dplyr)library(pheatmap)library(shinydashboard)library(shinythemes)library(shiny)
设置控件ui
大家看到上述使用过程中有很多可操作的按钮,滑动条等,其实就是R包shiny提供的控件,本文仅展示需要的控件。
以下是小鹿如何设置热图ui控件的代码:
ui <- fluidPage(sidebarLayout(sidebarPanel(fileInput("file1", "Choose file(data):",multiple = FALSE,accept = c("csv",".xlsx","xls","txt")), #设置输入文件的控件fileInput("file2", "Choose file(sample):",multiple = FALSE,accept = c("csv",".xlsx","xls","txt")),selectInput("select_scale", "select_scale",c("row" = "row","column" = "column","none" = "none")), #设置选择下拉框的控件checkboxInput("cluster_rows", "cluster_rows", FALSE), #设置是否选择的控件checkboxInput("cluster_cols", "cluster_cols", FALSE),colourInput("color1", "Select colour Low", "#0464bc"), #设置选择颜色的控件colourInput("color2", "Select colour Middle", "white"),colourInput("color3", "Select colour High", "#c81215"),checkboxInput("show_rownames", "show_rownames", FALSE),checkboxInput("show_colnames", "show_colnames", FALSE),sliderInput(inputId = "cellwidth",label = "cellwidth",min = 0.5,max = 30,value = 5), #设置滑动条的控件sliderInput(inputId = "cellheight",label = "cellheight",min = 0.5,max = 30,value = 5),sliderInput(inputId = "fontsize_row",label = "fontsize_row",min = 0.5,max = 30,value = 5),sliderInput(inputId = "fontsize_col",label = "fontsize_col",min = 0.5,max = 30,value = 5)),mainPanel(tabsetPanel(plotOutput("plot_heatmap",width = "1000px",height = "1000px") #设置交互式绘制热图))))
布置服务server
通过在控件中的输入以及参数设置,绘制热图进行展示。
server <- function(input, output) {output$plot_heatmap <- renderPlot({req(input$file1$datapath)req(input$file2$datapath)df <- read.xlsx(xlsxFile = input$file1$datapath,sheet = 1,colNames = TRUE,rowNames = TRUE)sampledata <- read.xlsx(xlsxFile = input$file2$datapath,sheet = 1,colNames = TRUE,rowNames = TRUE)color <- c(input$color1,input$color2,input$color3)df[is.na(df)] <- apply(df,2,function(x){min(na.omit(x))})%>%na.omit()%>%min()col <- rep(c("#1660A7","#FF6A00","#219418","#CD0C18","#814BB2","#794339"),6)samplecolor <- list()samplecolor$Group <- col[1:length(unique(sampledata$Group))]names(samplecolor$Group) <- unique(sampledata$Group)pheatmap(df,scale=input$select_scale,cluster_rows = input$cluster_rows,cluster_cols = input$cluster_cols,color = colorRampPalette(color)(1000),clustering_method = "complete",display_numbers = FALSE,number_format ="%.3f",show_colnames = input$show_colnames,show_rownames = input$show_rownames,border_color = NA,fontfamily= "ArialMT",cellwidth = input$cellwidth,cellheight = input$cellheight,fontsize_col = input$fontsize_col,fontsize_row = input$fontsize_row,annotation_col = sampledata,annotation_colors = samplecolor)})}
Run生成云工具
shinyApp(ui = ui, server = server)简单四步即可实现云工具绘制交互式热图,轻松解决调参难题;
省时省力还省心,是不是感觉像发现了新大陆?
大家若是感兴趣可以了解一下shiny的官方网站,里面不仅展示了很多适合小白学习的易理解的简易版交互式工具,还有一些大佬写的高级处理云工具以供开拓眼界及膜拜...
官方链接:
https://shiny.rstudio.com/
今天的交互式热图的学习就到这里了,但是交互式工具的学习还远没有结束,小鹿会持续为大家带来不一样的惊喜,期待下次再见吧~
小鹿版本的交互式热图云工具的链接就放在本文下方,如有感兴趣的小伙伴请点击此链接,带上你们的数据去感受不一样的绘图体验吧~如有问题,欢迎留言~
https://wangcy0501.shinyapps.io/myheatmap/
文末看点 鹿明生物
上海鹿明生物科技有限公司多年来,一直专注于生命科学和生命技术领域,是国内早期开展以蛋白组和代谢组为基础的多层组学整合实验与分析的团队。
如果你还在为不知如何绘制SCI图表而忧愁,还在为毕业论文制图效率低下美观度不满意而焦心,或者想要找到一个高效制图的集中地……
欧易云是欧易/鹿明生物旗下的科研图表聚集地,里面火热绘图工具+教程,使用便捷且能自动调色增加科研图的美观度,同时还将上线更多科研图功能,请持续关注欧易云平台,相信聪明的你一定不会错过!
热度翻倍,工具直达,只等你来云平台地址:
https://cloud.oebiotech.cn/task/
猜你还想看
END
森淼 撰文
欢迎转发到朋友圈
本文系鹿明生物原创
转载请注明本文转自鹿明生物
我知道你在看哟
点“阅读原文”了解更多
06-26 华谱科仪
相约皖美,第四届全国生物医学拉曼光谱学术会议火热进行中!06-25
生鲜平台再曝食安问题,水产品检测前处理如何把关06-24
原位电池电荷成像系统限时免费体验!样机落地首场研讨会圆满落幕,剑桥技术团队亲临,清华、复旦等学者齐聚交流06-24 Dr.Xing
AMD9Pro GCMS:HJ734 热脱附气质法测定挥发性有机物06-24
“鹅无战争”,烟火气里的食安防线如何守护?06-24
汉尧展会 | 圆满落幕!上海汉尧CPHI 2026参展回顾,感谢与您相聚!06-24 汉尧
【2025中国药典】中药三七农药残留测定分析(2341 第六法)06-24
利用安捷伦 Seahorse XF Flex 3D 捕获微孔板-S 改进胰岛和细胞球的实时代谢分析06-23
抄作业!自动化进行细胞健康与活力定量分析的标准步骤06-23 安捷伦科技
科研茶话会 | SureSelect 全外显子组分享荟邀您开讲06-23
【专题直播】与安捷伦专家共探:癌细胞代谢与细胞疗法的核心作用06-23
安捷伦细胞分析公共平台多元化检测解决方案06-23
BioCore生物色谱柱助力百利天恒全球首款双抗ADC获批上市06-23
烟草农残分析难?300+ 农药一网打尽06-23 安捷伦科技
多款色谱柱同台 PK,食品 PFAS 检测谁更出色?06-23 安捷伦科技
ICP‑OES 矩管陶瓷外管-助力锂电检测,先进材料延长配件寿命06-23 安捷伦科技
邀请函丨诚挚邀您线上线下共启 2026 AI 驱动植物代谢与行业创新论坛06-23 安捷伦科技
一脉贯通,质控相承 | 安捷伦 MAM 解决方案发布会邀您一起探索行业趋势06-23 安捷伦科技
从光学加工到高端制造:凯鑫光电如何升级精密检测能力 | 千里“追光“之旅06-23 安捷伦科技






