您好,登錄后才能下訂單哦!
本篇內容介紹了“R語言可視化ggplot圖表中的線條介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
今天跟大家分享的是ggplot圖表中的一類重要元素——線條。
不要覺得專門為線條寫一章推送有點小題大做,其實線條對于圖表而言,功不可沒,即便是不起眼的網格、軸線、或者線條的粗線、線型、磅數等都將決定著你的圖表品質。
R語言中ggplot函數系統中涉及到線條的地方有很多,最常見的場景就是我們做geom_line()(折線圖)、geom_path()(路徑圖),以及圖表的繪圖區(panel)、圖表區、網格系統(grid)中所涉及到的線條。
今天以一個折線圖為例,簡要說明ggplot函數中關于線條的主要參數及其效果。
library(ggplot2)
library(reshape2)
library(ggthemes)
library(RColorBrewer)
data<-data.frame(Name = c("蘋果","谷歌","臉書","亞馬遜","騰訊"),Company = c("Apple","Google","Facebook","Amozon","Tencent"),Sale2013 = c(5000,3500,2300,2100,3100),Sale2014 = c(5050,3800,2900,2500,3300),Sale2015 = c(5050,4000,3200,2800,3700),Sale2016 = c(6000,4800,4500,3500,4300))
mydata<-melt(data,id.vars=c("Name","Company"),variable.name="Year",value.name="Sale")
我先用一個簡單的折線圖代碼跑出來一個折線圖:
ggplot(mydata,aes(Company,Sale,fill=Year))+geom_line()
geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
當我用以上代碼運行的時候,軟件報錯,提示如上:
圖表展示區給出了一個只有坐標系的空白圖表;
相信根據英文意思也可以明白怎么回事,因為我們給折線圖的X軸映射是一個離散的因子變量,而默認狀態下軟件會將單條記錄都會視作一個分類,這樣肯定是無法出來圖表的,而如果是一個連續變量,則會只會當做一個類別進行映射。
我們使用過ggplot內內置數據集驗證我們的猜想。
head(LakeHuron)
LakeHuron$data<-seq(1875,1972,1)
ggplot(LakeHuron,aes(data,LakeHuron))+geom_line()
以上使用了一個時間序列數據,很順利的完成了折線圖的制作。
那么針對離散變量的折線圖到底如何來做呢,我們可以通過group指定分組的形式來達到目的。
ggplot(mydata,aes(Company,Sale,group=Year,fill=Year))+geom_line()
通過指定group即告知軟件將變量按照年份變量分組,否則單個不重復記錄都會被當做一個單獨分組。
ggplot(newdata,aes(Company,Sale,group=Year))+geom_line()+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point() #按照年份分組的同時按照年份進行線條的顏色映射
接下來通過對線條內部參數的修改,我們可以體會到ggplot對于線條細節的把控是多么的專注:
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point()
線條的參數主要有size、colour、linetype.
其中線條的類型主要有0=blank,1=solid,2=dashed,3=dotted,4=dotdash,5=longdash,6=twodash
每一個類型示例如下:
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=1,size=1.5)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=2,size=1.5)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=3,size=1.5)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=4,size=1.5)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=5,size=1.5)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(linetype=6,size=1.5)+geom_point()
下面是關于線條粗度的不同感知:
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=1,linetype=1)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=2,linetype=1)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=3,linetype=1)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=4,linetype=1)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=5,linetype=1)+geom_point()
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line(size=6,linetype=1)+geom_point()
以上依次使用的線條粗度值為1,2,3,4,5,6,大家可以通過圖表感受到ggplot圖表中線條的粗度變化規律。
除了折線圖(以及路徑圖,等圖層中的線條之外),在theme系統中存在大量的關于線條的屬性設置(網格系統、圖表邊框、軸線、圖例系統),均可以參照以上參數進行設置。
“R語言可視化ggplot圖表中的線條介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。