上海阿趣生物科技有限公司

13

手机商铺

qrcode
商家活跃:
产品热度:
  • NaN
  • 0.20000000000000018
  • 1.2000000000000002
  • 0.20000000000000018
  • 3.2
Nanopore三代全长转录组
询价

上海阿趣生物科技有限公司

入驻年限:13

  • 联系人:

    官方电话

  • 所在地区:

    上海

  • 业务范围:

    技术服务、耗材、实验室仪器 / 设备

  • 经营模式:

    代理商 生产厂商

在线沟通

公司新闻/正文

干货分享 | 给散点图镶上“小花边”

320 人阅读发布时间:2022-06-30 14:20

散点图,是一种常见的展示2组及以上连续变量关系的可视化方式之一。本文主要介绍如何给普通的散点图“镶边”——添加边际图。我们知道R作图思路就是一层一层的叠加上去,同理可得绘制一个如下所示的图,我们也应该是先定位X、Y轴,再绘制一个散点图,最后叠加上一个边际图。

新闻图片1

01.涉及的R包

1.ggplot2

最常用也是最万.能的绘图R包。

2.ggExtra

用于给散点图添加边际图。

3.hexbin

hexbin包的hexbin函数应用于数据量太大、且有数据重叠、普通散点图可视化效果变差的情况。

 

02.开始画图

1.载入R包

install.packages("ggExtra")
install.packages("hexbin")
library(ggExtra)
library(hexbin)
library(ggplot2)

2.绘制散点图

本文数据以R自带的diamonds数据为例,散点图的基本语法如下,数据集、X轴、Y轴,最后是散点层。

p <- ggplot(data=diamonds, mapping = aes(x = carat,y = price)) +
geom_point(shape=19 ,alpha = .5,size=1.5)
新闻图片2

一个最基础不加任何修饰的散点图就绘制好了,接下来要做的工作就是思考如何美化它。当数据量特别大,散点都堆叠在一起,很多区域很难辨识,我们可以考虑使用hexbin函数绘制高密度散点图。hexbin函数将二元变量的封箱放到六边形单元格中,且通过图例颜色标定每一个区域数据点的数量颜色越深则散点密度越大。

p <- ggplot(data=diamonds,mapping = aes(x = carat,y = price)) +
geom_point(shape=19 ,alpha = .01,size=0.5)+
stat_binhex()
新闻图片3

调整图片的细节


p <- ggplot(data=diamonds,mapping = aes(x = carat,y = price)) +
geom_point(shape=19 ,alpha = .01,size=0.5)+
stat_binhex()+
scale_fill_gradient(low = "lightblue", high = "red",limits =c(0,6000)) + #设置映射颜色和图例尺度
theme_bw() +
theme(
legend.position = "left", #调整图例的位置
axis.title = element_text( family = "sans",size = 17,face = "bold",color = "gray25"),#设置X、Y轴标题字体、大小以及颜色
axis.text = element_text( family = "sans",size = 15,face = "bold"), #设置X、Y轴标签字体、大小以及颜色
title = element_text( family = " sans ",size = 20,face = "bold"), #设置图片标题的字体、大小以及颜色
plot.title = element_text(margin = margin(t = 10, b = 10)),#控制标题与图表之间的距离
axis.title.x = element_text(margin = margin(t = 15),family = "sans"),
axis.title.y = element_text(margin = margin(r = 15) ,family = "sans"),#调整X、Y轴标题距离绘图区的距离
legend.title = element_blank(), #去除图例的标题
panel.border = element_rect( linetype = "solid", size = 2,color = "gray50") #绘图区外框颜色、线型以及粗细
) +
labs(title="Add marginal to scatter",hjust=0.5) + xlab("carat") + yl
ab("price") #添加标题
新闻图片4

3.添加边际图

边际图是叠加在散点图上的,它有多个类型可供选择。

参数解读:

p:之前绘制好的散点图

type:添加的边际图类型

density:密度曲线

histogram:直方图

boxpot:箱线图

violin:小提琴图

densigram:密度图与直方图的结合

margins:边际图添加在哪一方向

both:X、Y轴都添加

X:只添加X轴

Y:只添加Y轴

size:主图与边际图的比例关系

fill:填充颜色

color:描边颜色

 

p1 <- ggMarginal(p, type ="densigram", margins = "both", fill="#A7B9D7", color="steelblue")
新闻图片5

一副完整的散点图加边际图就绘制好了。边际图也可以根据需要尝试各样的类型:

只添加X轴的密度图

ggMarginal( p, type = "density", margins = "x", fill = "#A7B9D7", color="steelblue")
新闻图片6

只添加Y轴的小提琴图

ggMarginal( p, type = "violin", margins = "y", fill = "red", color="steelblue" )
新闻图片7

上一篇

2022最.新IF | 快来看看代谢组学相关期刊动态吧

下一篇

合作文章 | 不做“刘畊宏女孩”也能减肥?Ddr2既能调节脂肪代谢又能调节骨量!

更多资讯

我的询价