iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
0
自我挑戰組

R語言-繪圖的極限!系列 第 22

R語言-繪圖的極限! Day-22 ggplot疊加圖層

  • 分享至 

  • xImage
  •  

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)
  
  

接續上次完成的程式碼 , 結果如下圖

https://ithelp.ithome.com.tw/upload/images/20181105/20112574Uosg0JkhGT.png

我們在 dat 的資料集中在加入一行 "label"

dat$label = ""

dat[,"label"] = paste0("馬力:",dat$hp)

然後放在圖上

geom_text_repel(aes(label = dat$label))

https://ithelp.ithome.com.tw/upload/images/20181105/20112574j2LnlGMIhQ.png

我們可以發現我們是先疊加 label 再疊加 text 所以如上圖所示

馬力會被展現在最上層~

那該如何解決這個問題呢?

讓我想想....

End.


上一篇
R語言-繪圖的極限! Day-21 改變ggplot中的字體
下一篇
R語言-繪圖的極限! Day-23 ggplot疊加圖層-2
系列文
R語言-繪圖的極限!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
yanchen
iT邦新手 3 級 ‧ 2018-11-05 21:43:54

挖 要怎麼解決呀 真好奇

sam989798 iT邦新手 5 級 ‧ 2018-11-05 22:03:00 檢舉

笑死 才不告訴逆哩

yanchen iT邦新手 3 級 ‧ 2018-11-05 22:30:00 檢舉

https://ithelp.ithome.com.tw/upload/images/20181105/20111603r2kkHxsFn4.png

我要留言

立即登入留言