横向柱状图

横向柱状图正负值分开,颜色区分

标签: R语言


f3cb8856-be9b-4e46-a8cc-97656aa14e56.png

上面的示意图中我们要注意的问题:

  • 横向柱状图
  • 正负值区分
  • 颜色赋值
  • 画柱状图
  • 两侧柱子标签
table <- read.csv("C:/Users/admin/Desktop/cor_r.csv", sep=",", header=T, row.names =1)  ##读取文件
table = table[order(table[,5]),]  ##table表按第5列从小到大排序,这样正负值就可以分开了
bar_color <- rep("red", times = length(table$PH))   ##先把所有颜色都赋值为红色 
bar_color[table$PH < 0] <- "slateblue4" ##小于0的赋值为蓝色
par(mar = c(0.75, 5.5, 6, 2.5),  xpd=TRUE)  ##边框距离,上面的距离因为要加标题和坐标轴,所以设置的要宽一些
b <- barplot(table$PH,horiz=T,space= 0.1,xlim=c(-0.8,0.8), col = bar_color ,axes = F)  ##画图,horiz=T将x轴和y轴转置,space柱子之间的间隙,xlim,坐标轴的范围,axes = F不画坐标轴
axis(3)  ##坐标轴画在顶部
title(main=list("PH correlation",cex=1.0))  ##图片标题设置
text(x =0, y = b[table$PH > 0], rownames(table)[table$PH > 0], pos = 2)  ##柱状图的标签,大于0的时候,字符串在右侧,pos = 2 
text(x =0, y = b[table$PH < 0], rownames(table)[table$PH < 0], pos = 4)  ##柱状图的标签,小于0的时候,字符串在左侧,pos = 4
  • 注:pos: 也是对文字的位置进行调整,不能和adj参数同时使用, 可选值为1, 2, 3, 4, 分别对应下, 上, 左, 右4个方向


    企业微信截图_15117625646420.png

你可能感兴趣的:(横向柱状图)