分享

R语言绘图

 昵称70907282 2022-09-10 发布于山东

今天学习绘制散点图,重点是利用ggplot绘制

散点图对于显示两个连续变量之间的关系最有用

1.利用最简单的plot工具绘制

使用格式 plot(x,y,type='p',col = 'dark red',……)
x为横坐标,y为纵坐标,type为所绘制图形类型,“p”绘点,col为点的颜色

> data(mtcars) #调取数据 > head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 > plot(mtcars$mpg,mtcars$cyl,type='p') #以mpg为横坐标,cyl为纵坐标
image.png

2.利用ggplot2绘制,最常用的工具

使用 geom_point()参数绘制散点图
使用基本格式 ggplot(data,aes(x,y))+geom_point(),
利用aes(colour=,shape=)改变颜色和形状
x为横坐标,y为纵坐标

> library(ggplot2)> p <- ggplot(mtcars, aes(wt, mpg))> p + geom_point()
image.png
p+geom_point(aes(colour = factor(cyl))) #根据cyl填充颜色 p+geom_point(aes(colour ='red')) #
image.png

image.png
p + geom_point(aes(colour = factor(cyl),shape = factor(cyl)))  #根据cyl绘制不同形状
image.png
p + geom_point(aes(colour = factor(cyl),shape = factor(cyl)),size=5) #定义每个点的大小,
image.png
p + geom_point(aes(colour = factor(cyl),shape = factor(cyl),size= factor(qsec)))   #根据qsec绘制点大小
image.png

由于ggplot的图是以叠加的形式,为了达到一个边框的效果,我们可以再绘制一个图层

p + geom_point(aes(colour = factor(cyl),shape = factor(cyl)),size=5) + geom_point(colour = 'grey90', size = 1.5)
image.png

当数据缺失时,ggplot2会发出警告,不过并不影响其绘制,我们可以利用参数 na.rm = TRUE进行绘制

mtcars2 <- transform(mtcars, mpg = ifelse(runif(32) < 0.2, NA, mpg))head(mtcars2)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4Datsun 710          NA   4  108  93 3.85 2.320 18.61  1  1    4    1Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1> ggplot(mtcars2, aes(wt, mpg)) ++   geom_point()Warning message:Removed 6 rows containing missing values (geom_point).> ggplot(mtcars2, aes(wt, mpg)) ++   geom_point(na.rm = TRUE)>
image.png
以上便是基本的绘制散点图的参数

下面是一些拓展的参数

通常我们会保存为pdf文件,ggplot2可以直接使用ggsave函数保存
使用格式 ggsave('file.pdf',width=n,height=n) ,自定义保存图形大小的宽度长度,这样就能保存我们想要的图

> p + geom_point(aes(colour = factor(cyl),shape = factor(cyl))) > ggsave('plot.pdf',height=5,width=5)
image.png

一般在文献使用图片中,其背景都是白色的,这时候我们可以直接使用
theme_bw() #改变背景

>  p + geom_point(aes(colour = factor(cyl),shape = factor(cyl))) +
          theme_bw()
image.png

或者使用theme_classic()

p + geom_point(aes(colour = factor(cyl),shape = factor(cyl))) + theme_classic()
image.png

还有更多可调节参数可以参考之前的文章:
R语言绘图——数据可视化ggplot2 介绍和主要的参数

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约