今天学习绘制散点图,重点是利用ggplot绘制 散点图对于显示两个连续变量之间的关系最有用1.利用最简单的plot工具绘制使用格式 plot(x,y,type='p',col = 'dark red',……) > 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()参数绘制散点图 > 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函数保存 > p + geom_point(aes(colour = factor(cyl),shape = factor(cyl)))
> ggsave('plot.pdf',height=5,width=5) image.png 一般在文献使用图片中,其背景都是白色的,这时候我们可以直接使用 > 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 还有更多可调节参数可以参考之前的文章: |
|
来自: 昵称70907282 > 《R语言》