溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ggplot2繪圖的方法

發(fā)布時(shí)間:2022-03-25 15:38:40 來源:億速云 閱讀:311 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“ggplot2繪圖的方法”,在日常操作中,相信很多人在ggplot2繪圖的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”ggplot2繪圖的方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

繪圖過程中,通過給圖形中添加適量的注釋(圖形、公式、注釋)以及圖形整體的外觀,可以使讀圖者更快速、更準(zhǔn)確的了解圖形表達(dá)的含義。

ggplot2包中的annotate()函數(shù)幫助用戶給圖形的指定位置添加注釋,一般注釋可以從點(diǎn)、線和面的角度進(jìn)行修飾,對(duì)應(yīng)的geom參數(shù)是text、segment、pointrange、rect。

基本圖形示例:

library(ggplot2)

x<-c(2015,2016,2017,2018,2019,2020)

y<-c(12,13,14,25,36,57)

test<-data.frame(Year=x,Num=y)

p0 <- ggplot(data = test, mapping = aes(x = Year, y = Num)) + geom_line(colour = 'blue', size = 1) + geom_point(colour = 'red', size = 2)

p0

ggplot2繪圖的方法

一 圖形主體信息注釋

labs()函數(shù)或ggtitle()函數(shù)為圖形添加標(biāo)題

p1 <- p0 + labs(title="小白學(xué)R",subtitle = "學(xué)不會(huì)",caption = "堅(jiān)持")

p1

annotate()函數(shù)添加信息

p2 <- p1 + 

#矩陣(rect),框出重點(diǎn)關(guān)注區(qū)域

annotate(geom = 'rect', xmin = 2018, ymin = 25, xmax = 2019, ymax = 40, alpha = 0.4) + 

 #帶箭頭的射線(segment)

annotate('segment', x = 2019, y = 20, xend = 2018.5, yend = 25, size = 1.2, arrow = arrow()) + 

#文本型注釋

annotate('text', x = 2019, y = 20, label = '輸入信息1', colour = 'red')+ 

#參考線  geom_abline()、geom_vline()

geom_hline(yintercept = mean(test$Num), linetype = 2, col = 'red', size = 1) +  

annotate('text', x = 2016, y = mean(test$Num) + 3, label = paste('平均值:',round(mean(test$Num),2)))+

# 添加公式   ?plotmath查看數(shù)學(xué)表達(dá)式;parse設(shè)為TRUE

annotate('text', x = 2017, y = 50, label = 'f(x) == frac(x+y,sqrt(2*pi,3))*e^-log(2,x)', parse = TRUE, size = 3, colour = 'red') 

p2

ggplot2繪圖的方法

二 圖形坐標(biāo)軸信息修改

坐標(biāo)軸顯示范圍

p3 <- p2 + scale_x_continuous(limits = c(2014,2022))  ;p3

## 一般使用倍數(shù)來限定大小,最小值有個(gè)0

p3 <- p1 + xlim(min(test$Num, 0)*1.2, max(test$Num)*1.2)   

坐標(biāo)軸刻度、標(biāo)簽

# X 軸每隔 2 個(gè)單位顯示一個(gè)刻度 ; 改變刻度文字,label要與刻度一樣多

p2 + scale_x_continuous(breaks=seq(2015, 2020, 2) , labels = c("A","B","C")) 

橫坐標(biāo)軸相關(guān)設(shè)置

##只去掉 X 軸的刻度標(biāo)簽

p4 <- p2 + theme(axis.ticks.x = element_blank()) +  

scale_x_continuous(breaks=test$Year, labels = paste(test$Year,'Year')) + 

theme(axis.text.x = element_text(size = 10,color =  "skyblue" ,vjust = 0.5, hjust = 0.5, angle = 45))+

## 刪去網(wǎng)格線

theme(panel.grid =element_blank()) +   

## 刪去外層邊框

theme(panel.border = element_blank()) +  

## 再加上坐標(biāo)軸(無刻度、無標(biāo)簽)

theme(axis.line = element_line(size=1, colour = "black"))  

p4

ggplot2繪圖的方法

三、旋轉(zhuǎn)坐標(biāo)軸

只需添加coord_flip()函數(shù)就可以實(shí)現(xiàn)

p5 <- p4 + coord_flip();p5

到此,關(guān)于“ggplot2繪圖的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI