横向柱状图

作者: 假装自己90斤 | 来源:发表于2017-11-29 14:27 被阅读336次

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

    标签: 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

    相关文章

      网友评论

        本文标题:横向柱状图

        本文链接:https://www.haomeiwen.com/subject/uvvubxtx.html