首页 > 其他分享 >免疫细胞浸润百分比堆积条形图-代码

免疫细胞浸润百分比堆积条形图-代码

时间:2023-12-03 17:13:52浏览次数:35  
标签:百分比 TCGA 浸润 细胞 免疫 条形图

免疫细胞浸润百分比堆积条形图

该条形图展示的是每个TCGA的肿瘤样本中各个免疫细胞所占的比例。

输入数据

该输入数据的每一行显示的是一个TCGA的肿瘤样本中各个免疫细胞所占的比例。每一行的数据用制表符“\t”分隔。

input.txt

代码

setwd("")    #工作目录

## 读取文件,整理
data <- read.table("input.txt", sep="\t", header = T, row.names = 1, check.names = F)
data <- t(data)  
col <- rainbow(nrow(data), s = 0.7, v = 0.7)  # 按变量数量设置颜色。s(saturation,饱和度)和v(value,明度)用于HSV颜色空间的描述。

## 绘制
pdf("barplot1.pdf", height = 10, width = 20)
# 图形属性设置
par(las = 1, mar = c(8,5,4,16),  # las用于定义轴标签的样式。mar用于设置图形的边距。
    mgp = c(3,0.1,0), cex.axis = 1.5)  # mgp用于设置轴标题、轴标签和轴线的边距线。cex.axis用于轴注释,相对于cex当前设置的放大倍率。
# 画条形图
a1 <- barplot(data, col = col,  # 设置颜色
              yaxt = "n", xaxt = "n",  # 不显示x、y坐标轴
              ylab = "Relative Percent",  # y轴标签
              cex.lab = 1.8)  # 标签文字大小
# 画坐标轴
a2 <- axis(side = 2, tick = FALSE, labels = FALSE)  # side用于指定要在绘图的哪一侧绘制轴。tick用于指定是否绘制刻度线和轴线。labels用于指定是否在刻度线处进行(数字)注释
axis(side = 2, a2, paste0(a2*100, "%"))  # side = 2指定在绘图的左侧绘制轴
axis(side = 1, a1, labels = FALSE)  # side = 1指定在绘图的下方绘制轴
# 添加坐标轴标签
par(srt = 60, xpd = TRUE)  # srt表示以度为单位的字符串旋转。xpd用于设置图形打印裁剪方式
text(x = a1, y = -0.02, labels = colnames(data), adj = 1, cex = 0.6)  # adj(adjustment)指定标签的x调整,0 表示左/下,1 表示右/上。cex(character expansion),字体大小。
# 添加图例
par(srt = 0)  # srt表示graphics以度为单位的字符串旋转。
ytick2 <- cumsum(data[, ncol(data)])  # cumsum(Cumulative Sums,累计总和),将data的最后一列累计总和。
ytick1 <- c(0, ytick2[-length(ytick2)])  # 将上述总和去掉最后一位,第一位前加0
legend(x = par("usr")[2]*0.98, y = par("usr")[4], 
       legend = rownames(data), 
       col = col, pch = 15, bty = "n", cex = 1.3)  # pch(point character),点形状。bty(box type),在图例周围绘制的框的类型。cex,字符扩展因子
dev.off()  # 关闭并保存图形

 

标签:百分比,TCGA,浸润,细胞,免疫,条形图
From: https://www.cnblogs.com/Ixiaozhu/p/17873401.html

相关文章

  • 相邻节点数量条形图-代码
    相邻节点数量条形图结果图展示该条形图展示的是相邻节点数(numberofadjacentnodes)最高的前几位节点。输入数据该输入数据的每一行都显示的是两个存在连接的相邻节点(adjacentnodes)。每一行的两个节点用制表符“\t”分隔。node1node2RAD51MND1ZWINTBUB1B......
  • 为获取导入百分比,使用easyexcel获取导入excel表总行数
    背景分批读取大量数据的excel文件,每次读取1000行数据,然后插入数据库,并且去执行一个方法,执行完毕后更新此行数据的状态。需要获取已更新数据的占比,即计算百分比。因为是分批读取的,我们不可以直接用已更新状态数量/数据库中总数。因为可能一次读取的1000行数据更新状态很快,直接100......
  • python计算两个矩形的重叠_python计算两个矩形框重合百分比的实例
    如下所示:defmat_inter(box1,box2):#判断两个矩形是否相交#box=(xA,yA,xB,yB)x01,y01,x02,y02=box1x11,y11,x12,y12=box2lx=abs((x01+x02)/2-(x11+x12)/2)ly=abs((y01+y02)/2-(y11+y12)/2)sax=abs(x01......
  • tableau用数值呈现条形图的总计
     创建计算字段创建计算字段:销售额总计,键入函数:IFSize()=1THEN0ELSESum([销售额])END 创建视图将度量“销售额”拖放至列,将维度“子类别”拖放至行,降序排序。将列上的“销售额”胶囊拖放至“标记”卡的标签中,再将计算字段“销售额总计”拖放至列。 单击顶部菜单......
  • Java 使用`Collectors.groupingBy`计算百分比
    要使用Collectors.groupingBy计算百分比,你需要先对数据进行分组,然后计算每个组内元素的百分比。假设你有一个包含整数的列表,你想要按照它们的奇偶性进行分组,并计算每个组内元素的百分比。以下是一个使用Collectors.groupingBy和自定义收集器的示例代码:importjava.util.Arrays;......
  • 利用CSS 实现环形百分比进度展示
    先看效果图: UI设计了这样的效果,已读人数占总人数的百分比,环形展示。这里可以用echarts图表,也可以用css实现,因为我是在小程序环境下,考虑到包大小体积,采用了css实现。核心就是一行代码:background-image:conic-gradient(#e9e9e930deg,transparent30deg);这个只是一个静......
  • 初学Bokeh:绘制条形图【7】跬步
    初学Bokeh:绘制条形图【7】跬步Step1:引用figure、show函数frombokeh.plottingimportfigure,showStep2:定义绘图数据#preparesomedatax=[1,2,3,4,5]y1=[6,7,2,4,5]y2=[2,3,4,5,6]y3=[4,5,5,7,2]Step3:创建绘图对象#createanewplotwit......
  • html 电脑端banner图片百分比自动缩放
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.banner_pic{width:100%;height:284px;bor......
  • 无涯教程-Matplotlib - 条形图(Bar)
    条形图是用高度或长度与其所代表的值成比例的矩形数据图表,条形图可以垂直或水平绘制。MatplotlibAPI提供了bar()函数,该函数可以在MATLAB样式使用以及面向对象的API中使用,如下示例-ax.bar(x,height,width,bottom,align)参数说明如下xx坐标。height高度。width宽度,默......
  • 【matplotlib 实战】--百分比柱状图
    百分比堆叠式柱状图是一种特殊的柱状图,它的每根柱子是等长的,总额为100%。柱子内部被分割为多个部分,高度由该部分占总体的百分比决定。百分比堆叠式柱状图不显示数据的“绝对数值”,而是显示“相对比例”。但同时,它也仍然具有柱状图的固有功能,即“比较”——我们可以通过比较多个柱......