11月5日台北陰雨
先前說過ggplot是個圖層疊加的概念,當初我也是不太了解何謂圖層疊加
今天就稍微來介紹一下~
#找出資料
dat = subset(mtcars,hp>100)
#根據馬力排序
dat = dat[order(dat$hp),]
#找出最大馬力和最小馬力
dat_label = c(1,length(dat$mpg))
#給定一行名為 CAR
dat$car = ""
#將rowname放入資料中
dat$car[dat_label] =row.names(dat)[dat_label]
#繪圖
ggplot(dat,aes(x = hp , y = mpg , label = car))+
geom_point(color = ifelse(dat$car == "","black","red") , size =ifelse(dat$car == "",1,3))+
labs(x = "馬力" , y = "油耗(英哩/加侖)")+
geom_label_repel(col = "darkgreen",size = 4.5)
接續上次完成的程式碼 , 結果如下圖
我們在 dat 的資料集中在加入一行 "label"
dat$label = ""
dat[,"label"] = paste0("馬力:",dat$hp)
然後放在圖上
geom_text_repel(aes(label = dat$label))
我們可以發現我們是先疊加 label 再疊加 text 所以如上圖所示
馬力會被展現在最上層~
那該如何解決這個問題呢?
讓我想想....
End.