iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
0
自我挑戰組

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

R語言-繪圖的極限!Day-29 ggplot分割視窗-前置篇

  • 分享至 

  • xImage
  •  

11月12日台北微涼

剩最後兩天了! 我也準備好最後要介紹什麼了

那就是!!!!

如何在視窗上放上多張 ggplot

再開始前我們一樣先進行資料處理 , 使用的資料如先前使用的貓空人數

library(readxl)
library(tidyverse)
library(xlsx)
library(data.table)
yourname = paste(Sys.getenv("USERNAME")) #自動找出本機使用者名稱

path = paste("C:\\Users\\sam.lee\\Desktop\\貓空\\",sep="") #設定讀檔路徑

xls = list.files(path,pattern = "cat") #找出在路徑 : path 中名稱有cat的檔案
hold_c_time=rep(0,length(xls))
for (i in 1:length(xls)){
  hold_c_time[i]=file.info(paste(path,xls[i],sep=""))[,"mtime"]
  xname=xls[order(hold_c_time,decreasing = T)]
}
#讀取多檔案
for(i in 1:length(xname))
{
  if(i==1)
    x=fread(paste(path,xname[i],sep=""))
  else
    x=rbind(x,fread(paste(path,xname[i],sep="")))[-length(x$星期),]
}

x = x[1:length(x$營運日)-1]



x1 = as.factor(x$星期)
for(i in 1:7)
  levels(x1)[i] = c(1,2,3,5,6,7,4)


table(x$星期)


x$總運量=as.numeric(parse_number(x$總運量))
x$week = 0
for (i in 1:length(x$總運量)) {
  if(x[i,2]=="週一")
    x[i,4] = 1
  if(x[i,2]=="週二")
    x[i,4] = 2
  if(x[i,2]=="週三")
    x[i,4] = 3
  if(x[i,2]=="週四")
    x[i,4] = 4
  if(x[i,2]=="週五")
    x[i,4] = 5
  if(x[i,2]=="週六")
    x[i,4] = 6
  if(x[i,2]=="週日")
    x[i,4] = 7
}

x$營運日 = as.Date(gsub("107","2018",x$營運日))
x = x[,-2] ; colnames(x)[3] = "星期"


sep = list()
for (i in 1:4) {
  sep[[i]] = x[which(substr(x$營運日,1,7) == paste0("2018-0",i))]
}

ggplot(sep[[1]],aes(x = sep[[1]]$營運日 , y = sep[[1]]$總運量)) + geom_line()

與之前不同處是我使用list() , 以月份分組來進行分類分別為一月、二月、三月、四月

https://ithelp.ithome.com.tw/upload/images/20181112/20112574wQsbXE03BS.png

https://ithelp.ithome.com.tw/upload/images/20181112/20112574iBzqCg5uSp.png


上一篇
R語言-繪圖的極限!Day-28 ggplot調整格線
下一篇
R語言-繪圖的極限!Day-30 ggplot分割視窗-完結篇
系列文
R語言-繪圖的極限!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言