美文网首页R学习与可视化
R语言绘图——散点图

R语言绘图——散点图

作者: 忙碌的dog | 来源:发表于2021-09-13 16:03 被阅读0次

    今天学习绘制散点图,重点是利用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    4
    Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
    Datsun 710          NA   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
    
    
    > 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 介绍和主要的参数

    相关文章

      网友评论

        本文标题:R语言绘图——散点图

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