看板 R_Language 關於我們 聯絡資訊
[軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 最近趁著寒假想把R處理資料的基礎學完,目前還在學習dplyr,ggplot2 在自我練習時,自己輸入資料像這樣 code: NTU_pop<-data.frame(c(106,105,104,103,102,101,100,99,98,97),c(16526,16499,16532,16505,16575,16915,17277,17514,17492,17152),c(9377,9403,9441,9425,9456,9609,9703,9770,9774,9504),c(7149,7096,7091,7080,71 names(NTU_pop)<-c("year","total","boy","girl") 資料呈現: year total boy girl 1 106 16526 9377 7149 2 105 16499 9403 7096 3 104 16532 9441 7091 4 103 16505 9425 7080 5 102 16575 9456 7119 5 102 16575 9456 7119 6 101 16915 9609 7306 7 100 17277 9703 7574 8 99 17514 9770 7744 9 98 17492 9774 7718 10 97 17152 9504 7648 然後我想畫出x軸是年分,y軸是人數,然後再用顏色區分總人數男女人數 但這樣的資料好像沒辦法使用ggplot裡面的fill 我只能像這樣: arrange(NTU_pop,year)%>%ggplot(aes(x=year,y=total))+geom_point()+geom_line()+ geom_point(aes(x=year,y=boy),color="red")+ geom_line(aes(x=year,y=boy),color="red")+ geom_point(aes(x=year,y=girl),color="blue")+ geom_line(aes(x=year,y=girl),color="blue") 不管我再怎麼修改程式碼都沒辦法讓標籤顯示出來,像是說 紅色:boy,藍色:girl,黑色:total 我上網爬過很多文了大部分都是用fill, 所以想請問各位大大如何解決了QQ [環境敘述]: Win10, 64bit R:Version 1.1.383 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.177.147 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1518234349.A.FC8.html
x88776544pc: https://pastebin.com/0STrjnFW02/10 13:04
x88776544pc: 可以用 melt 將資料轉換成長格式再搭配 scale 換顏色02/10 13:06
x88776544pc: 一行一行打的話也可,但要讓 aes 吃到 col 這個參數02/10 13:09
成功了!!! 真的非常感謝你><! ※ 編輯: a6409tw (140.112.177.147), 02/11/2018 12:53:16