美文网首页绘图技巧
R语言ggplot2绘图单元格为方块的热图简单小例子

R语言ggplot2绘图单元格为方块的热图简单小例子

作者: 小明的数据分析笔记本 | 来源:发表于2021-04-07 19:15 被阅读0次

    今天公众号后台有人留言作图,示例图如下

    image.png

    我选择使用R语言的ggplot2来实现,这个是箱线图和热图的拼接,右侧的热图可以借助geom_point()函数实现,将点的形状改为正方块,数值按照正负来映射颜色,按照一定的数值来映射大小。基本的思路有了。今天的推文记录一个小知识点是 如何将图例远离主图并且给放到右上角去

    首先是构造一份数据
    df<-data.frame(x=LETTERS[1:4],y=1:4)
    df
    
    image.png
    正常做一个柱形图
    library(ggplot2)
    ggplot(data=df,aes(x=x,y=y))+
      geom_col(aes(fill=x))
    
    image.png
    拉大图例与主图的距离

    使用theme()函数中的legend.box.margin参数来调节

    ggplot(data=df,aes(x=x,y=y))+
      geom_col(aes(fill=x))+
      theme(legend.box.margin = margin(0,0,0,5,unit = 'cm'))
    
    image.png
    将图例放到右上角

    通过 legend.justification 参数来实现

    ggplot(data=df,aes(x=x,y=y))+
      geom_col(aes(fill=x))+
      theme(legend.box.margin = margin(0,0,0,5,unit = 'cm'),
            legend.justification = c(0,1))
    
    image.png
    还有另外两个知识点是调节图例的标题和图例的距离以及图例的文本和图例的距离

    分别需要用到legend.spacing.ylegend.spacing.x参数

    ggplot(data=df,aes(x=x,y=y))+
      geom_col(aes(fill=x))+
      theme(legend.box.margin = margin(0,0,0,5,unit = 'cm'),
            legend.justification = c(0,1),
            legend.spacing.y = unit(5,'cm'),
            legend.spacing.x = unit(5,'cm'))
    
    image.png

    欢迎大家关注我的公众号
    小明的数据分析笔记本

    小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

    相关文章

      网友评论

        本文标题:R语言ggplot2绘图单元格为方块的热图简单小例子

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