R語言繪圖——散點圖

今天學習繪制散點圖,重點是利用ggplot繪制

散點圖對于顯示兩個連續(xù)變量之間的關系最有用

1.利用最簡單的plot工具繪制

使用格式 plot(x,y,type="p",col = "dark red",……)
x為橫坐標,y為縱坐標,type為所繪制圖形類型,“p”繪點,col為點的顏色

> data(mtcars) #調(diào)取數(shù)據(jù)
> 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()參數(shù)繪制散點圖
使用基本格式 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))) #根據(jù)cyl填充顏色
p+geom_point(aes(colour ="red")) #
image.png

image.png
p + geom_point(aes(colour = factor(cyl),shape = factor(cyl)))  #根據(jù)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)))   #根據(jù)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

當數(shù)據(jù)缺失時,ggplot2會發(fā)出警告,不過并不影響其繪制,我們可以利用參數(shù) 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
以上便是基本的繪制散點圖的參數(shù)

下面是一些拓展的參數(shù)

通常我們會保存為pdf文件,ggplot2可以直接使用ggsave函數(shù)保存
使用格式 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

還有更多可調(diào)節(jié)參數(shù)可以參考之前的文章:
R語言繪圖——數(shù)據(jù)可視化ggplot2 介紹和主要的參數(shù)

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容