一張圖繪制多組散點圖和折線圖(R:ggplot2)


問題:如何在一張圖上面繪制多組散點圖和折線圖?例如在下面的評分數據中,每輪數據繪制散點圖,平均值繪制折線圖。

數據(excel):營業廳評分數據

做法:R語言ggplot函數

library(readxl)
library(ggplot2)
data<-read_excel("C:\\...\\數據.xlsx",sheet = 2,col_names=T)
names(data)<-c("x","y1","y2","y3","y4","ym") 
fills=c('第一輪'="blue",'第二輪'="yellow",'第三輪'="lightpink",'第四輪'="red",'平均值'="green") 
ggplot(data)+geom_point(aes(x,y=y1,fill ="第一輪"),size=5,shape=21,color="black")+
    geom_point(aes(x,y=y2,fill="第二輪"),size=5,shape=21)+
    geom_point(aes(x,y=y3,fill="第三輪"),size=5,shape=21)+
    geom_point(aes(x,y=y4,fill="第四輪"),size=5,shape=21)+
    geom_point(aes(x,y=ym,fill="平均值"),size=5,shape=21)+
    geom_line(aes(x,y=ym),color="black",group=1)+labs(x="營業廳名稱",y="評分",title="員工形象管理評分情況",fill="")+
    scale_fill_brewer(,limits=c('第一輪','第二輪','第三輪','第四輪','平均值'))+ 
    theme(plot.title = element_text(hjust = 0.5)) #采用默認配色

注:

  1. read_excel("C:\\...\\數據.xlsx",sheet = 2,col_names=T) #sheet指定第幾個表,col_names=T 是將第一行設成列名。
  2. names(data)<-c("x","y1","y2","y3","y4","ym") #重命名列名,便於后面分開使用各列。
  3. fills=c('第一輪'="blue",'第二輪'="yellow",'第三輪'="lightpink",'第四輪'="red",'平均值'="green") #添加映射,便於后面圖例按“第一輪”的形式輸出。
  4. ggplot(data)+geom_point(aes(x,y=y1,fill ="第一輪"),size=5,shape=21,color="black") #填充參數fill是映射關系,放到aes函數里,shape=21 指定形狀為實心圓點,color指定邊框顏色。
  5. geom_line(aes(x,y=ym),color="black",group=1)+labs(x="營業廳名稱",y="評分",title="員工形象管理評分情況",fill="") #geom_line添加折線,group=1 參數必須設定。labs設定行列標題及主標題,fill=“”指去掉圖例標題。
  6. scale_fill_brewer(palette='Set1',limits=c('第一輪','第二輪','第三輪','第四輪','平均值')) #palette='Set1'設定顏色類型,空的話為默認色,limits 指定圖例排列順序。
  7. theme(plot.title = element_text(hjust = 0.5)) #plot.title = element_text(hjust = 0.5) #水平調整主標題文本位置到正中間,hjust = 0指靠左對齊。
  •  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM