溫馨提示×

溫馨提示×

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

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

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

發(fā)布時間:2021-07-23 09:10:31 來源:億速云 閱讀:817 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“R語言可視化美化折線圖、平滑曲線及路徑圖的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

今天跟大家講關于路徑圖、平滑曲線與折線圖及其美化。

這里涉及到三個設計線條的特殊圖層函數(shù):

geom_smooth()、geom_path()、geom_line()

下面分別講解:

關于geom_smooth():平滑曲線

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth()

R語言可視化美化折線圖、平滑曲線及路徑圖的方法
R語言可視化美化折線圖、平滑曲線及路徑圖的方法

平滑曲線專門用于對于散點圖趨勢的擬合,geom_smooth函數(shù)內(nèi)部有默認的擬合規(guī)則(根據(jù)統(tǒng)計統(tǒng)計算法計算出的擬合規(guī)則,而非實際的點)。

其中的括號內(nèi)有默認的method參數(shù),代表著擬合曲線所用到的統(tǒng)計算法,se代表著誤差范圍。(就是圍繞著擬合直線的顏色帶)。

method中的類型常見的有l(wèi)m\glm\gam\loess\rlm等,當數(shù)據(jù)集記錄小于1000時,method的默認參數(shù)即為loess,大于1000時則為gam。

本例所用到mpg數(shù)據(jù)集只有234個記錄,使用geom_smooth參數(shù)應該默認使用的方法參數(shù)就是loess,這里我們可以檢驗一下:

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="loess")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

誤差范圍的顏色帶是可以通過se參數(shù)進行控制的,默認se=TRUE,這里設置為se=FALSE。

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="loess",se=FALSE)

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

接下來我們依次嘗試其他幾個擬合曲線:

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="lm",se=FALSE)

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="glm",se=FALSE)

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="gam",se=FALSE)

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

看上去沒啥太大區(qū)別,可能是數(shù)據(jù)集太小的原因吧。

路徑圖:geom_path()

以上函數(shù)參數(shù)可以畫出路徑圖,其實就是根據(jù)每一個數(shù)據(jù)點的出現(xiàn)先后順序,依次鏈接所有點所形成的路徑:

ggplot(mpg,aes(cty,hwy))+geom_path()

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

這種圖乍看起來沒啥意義,但是在某些特殊場景下,卻能夠表達出非常重要的信息,比如候鳥遷徙、病毒傳播、甚至飛機航線等領域。

ggplot(mpg,aes(cty,hwy))+geom_point()+geom_path()

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

可以同時添加點函數(shù)和路徑函數(shù),制作出帶有點標記的路徑圖。

ggplot(mpg,aes(cty,hwy))+geom_point(colour="steelblue")+geom_path(colour="red")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

每一個圖層函數(shù)內(nèi)的圖層對象都是可以單獨定義顏色的。

折線圖:geom_line()

以上是直線圖的圖層函數(shù);它與路徑圖的唯一區(qū)別就是,在連接各點之前,會按照x軸數(shù)據(jù)對總體升序排列,所以最終的連線是非常清晰的順序折線,不會存在交叉。(而路徑圖則按照實際數(shù)據(jù)點在數(shù)據(jù)集中出現(xiàn)的先后順序依次聯(lián)結)。

ggplot(mpg,aes(cty,hwy))+geom_line(colour="steelblue")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(mpg,aes(cty,hwy))+geom_point(colour="black")+geom_line(colour="steelblue")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

為了更加明顯的看出兩者區(qū)別,我們換一個變量:

ggplot(CO2,aes(uptake,conc))+geom_line(colour="steelblue")+geom_point(colour="black")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(iris,aes(Sepal.Length,Sepal.Width))+geom_line(colour="steelblue")+geom_point(colour="white",shape=21,size=4,fill="Tomato")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

加入分類變量后的折線圖:

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+geom_point(colour="white",shape=21,size=4,fill="Tomato")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

默認的折線線條位置參數(shù)應該position=identity,我們也可以嘗試使用其他幾個參數(shù)

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line(position="identity")+geom_point(colour="white",shape=21,size=4,fill="Tomato")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line(position="stack")+geom_point(colour="white",shape=21,size=4,fill="Tomato",position="stack")

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point   (colour="white",shape=21,size=4,fill="Tomato")   #分面組圖:

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point   (colour="white",shape=21,size=4,fill="Tomato") +theme_wsj("rgby","")+scale_colour_wsj()+ggtitle("line plot")+guides(colour=guide_legend(title=NULL))  

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point   (colour="white",shape=21,size=4,fill="Tomato") +theme_economist()+scale_colour_economist()+ggtitle("line plot")+guides(colour=guide_legend(title=NULL))  

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

R語言可視化美化折線圖、平滑曲線及路徑圖的方法

“R語言可視化美化折線圖、平滑曲線及路徑圖的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

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

AI