R語言數據可視化包ggplot2畫圖之散點圖的基本畫法
前言
ggplot2的功能很強大,并因為其出色的畫圖能力而聞名,下面來介紹一下它的基本畫圖功能,本期介紹散點圖的基本畫法。
在ggplot2里,所有圖片由6個基本要素組成:
1. 數據(Data)
2. 層次(Layers),包含兩種元素:幾何元素(Geometrics)與統(tǒng)計轉換(Statistical transformations)。
幾何元素指的是你想畫的圖形,如點,線,或多邊形等。
統(tǒng)計轉換指的是你想畫的統(tǒng)計描述,如均數,標準差或可信區(qū)間等。
3. 刻度(Scales), 通常指幾何元素(如點或者線)的大小,顏色和形狀等。
4. 坐標系統(tǒng)(A coordinate system), 通常指的是x軸與y軸。
5. 多面化(Faceting),簡單的說,就是可以將一個圖片分成多個小的亞圖片。
6. 主題 (Theme),此要素可以控制非數據與非統(tǒng)計部分的內容,如背景顏色,字體大小等。
下面以一個簡單的例子引入:
library(ggplot2)#導入ggplot包 #使用mtcars數據做一個散點圖 ggplot(data = mtcars, # 要素1:數據 aes(x = wt, y = mpg, colour = factor(cyl))) + # 要素3:刻度 geom_point() + # 要素2:幾何元素(點) coord_cartesian() + # 要素4:坐標軸 facet_wrap(~ cyl) + # 要素5:分面化 theme_bw() # 要素6:主題
其中mtcars數據概況如下:
首先介紹第一類常用的圖像類型:散點圖
#載入ggplot2 library(ggplot2) #建立數據集,橫坐標為1:100,縱坐標為服從標準正態(tài)分布的隨機數 x <- seq(1,100,length=100) y <- rnorm(100,mean=0,sd=1) data <- data.frame(x=x,y=y) #作散點圖 ggplot(data, aes(x=x, y=y)) + geom_point()
給原始數據加上分類標簽:
x <- seq(1,100,length=100) y <- rnorm(100,mean=0,sd=1) z <- c(rep("A",30),rep("B",30),rep("C",40)) z <- sample(z,100) data <- data.frame(x=x,y=y,z=z)
數據概況如下:
按z列分類以不同的顏色在圖中畫出散點圖:
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()
按z列分類以不同的形狀在圖中畫出散點圖:
ggplot(data, aes(x=x, y=y,shape=z)) + geom_point()
多面化(將ABC三類分開展示):
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()+ facet_wrap(~z)+ theme(legend.position = "none")
若不加
theme(legend.position = "none")這一段代碼,顯示的圖表如下:
可以看出不加這一段代碼側邊欄顯示圖例,但顯然這個圖例是多余的,因此我們一般去掉
自定義顏色:
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()+ facet_wrap(~z)+ theme(legend.position = "none")+ scale_colour_manual(values = c("purple", "red", "black"))
添加擬合曲線:
x <- seq(1,50,length=50) y <- rnorm(50,mean=0,sd=5) z <- c(rep("A",20),rep("B",15),rep("C",15)) z <- sample(z,50) data <- data.frame(x=x,y=2*x-y,z=z)#這里構造的數據集大致服從y=2x ggplot(data, aes(x=x, y=y)) + geom_point()+ geom_smooth()#添加擬合曲線,默認的形式是局部回歸,所以擬合出的線條是曲線。
因為geom_smooth()默認的形式是局部回歸,所以擬合出的線條是曲線,陰影區(qū)域為置信區(qū)間。
這里也可以用其他模型擬合,如線型模型:
ggplot(data, aes(x=x, y=y)) + geom_point()+ geom_smooth(method = "lm", se = FALSE)
(se = FALSE:去除置信區(qū)間)
更換主題 :
ggplot(data, aes(x=x, y=y)) + geom_point()+ theme_test()
總結
到此這篇關于R語言數據可視化包ggplot2畫圖之散點圖的基本畫法的文章就介紹到這了,更多相關R語言ggplot2散點圖畫法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
R語言中R-squared與Adjust R-squared參數的解釋
這篇文章主要給大家介紹了關于R語言中R-squared與Adjust R-squared兩個參數的相關資料,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03