前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言ggplot2绘图单元格为方块的热图—1—调整图例的位置

R语言ggplot2绘图单元格为方块的热图—1—调整图例的位置

作者头像
用户7010445
发布2021-04-21 15:47:34
3.6K0
发布2021-04-21 15:47:34
举报
文章被收录于专栏:小明的数据分析笔记本

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

image.png

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

首先是构造一份数据
代码语言:javascript
复制
df<-data.frame(x=LETTERS[1:4],y=1:4)
df

image.png

正常做一个柱形图
代码语言:javascript
复制
library(ggplot2)
ggplot(data=df,aes(x=x,y=y))+
  geom_col(aes(fill=x))

image.png

拉大图例与主图的距离

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

代码语言:javascript
复制
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 参数来实现

代码语言:javascript
复制
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参数

代码语言:javascript
复制
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、生物信息学入门学习资料及自己的学习笔记!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先是构造一份数据
  • 正常做一个柱形图
  • 拉大图例与主图的距离
  • 将图例放到右上角
  • 还有另外两个知识点是调节图例的标题和图例的距离以及图例的文本和图例的距离
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档