반응형
데이터는 다음과 같다. CSV로 저장하였음
1. 파일 읽어들이기
###### 첫 번째 파일 읽기 ######
setwd("C:/Users/USER/Desktop")
tsv <-fread("data.csv")
###### 두 번째 파일 읽기 ######
setwd("C:/Users/USER/Desktop")
NAME <-fread("model.csv")
2. 두 데이터 합치기 merge
MergeTsv <- merge(tsv,NAME,by="ID",all=FALSE)
all 옵션 :
all=TRUE 일때는 합집합(좌)
all=FALSE 일때는 교집합(우)
3. 데이터 타입 변환
MergeTsv$DATA <- as.numeric(MergeTsv$DATA)
############### POSIX 타입으로 변환하는 경우####################
MergeTsv$REG_DATE <- as.POSIXct(MergeTsv$REG_DATE,format="%H:%M:%S")
############### %H:%M 처럼 변환 형태를 지정하는 경우 format 이용####################
############### format을 이용하면 CHAR 타입으로 변환이 된다....####################
MergeTsv$REG_DATE<-format(as.POSIXct(MergeTsv$REG_DATE,format = "%H:%M:%S"),"%H:%M")
4. ggplot 이용하여 꺾은선 그래프 그리기
//x=축 데이터, y=y축 데이터, colour, group = 구분 기준
ggplot(MergeTsv,aes(x=REG_DATE,y=DATA, colour=DAY,group=DAY))+
//facet_wrap=plot이 만들어지는 단위 기준
geom_line()+facet_wrap(~NAME,ncol = 1, scales="free")+
coord_cartesian(ylim=c(1,150))+
scale_x_discrete(breaks= c("03:00","06:00","09:00","12:00","15:00","18:00","21:00"))
- group : 한 장비의 yesterday, today 별로 그래프를 그리고 싶어서 group을 주었음
- facet_wrap : 장비 NAME 별로 그래프를 따로 그리기 위해 facet_wrap 사용
- ncol : 열의 갯수
- scales : x 축 라벨이 각 행마다 다 들어가려면 free
- coord_cartesian : y축 범위 설정
- scale_x_discrete : x축 라벨 표시 간격 설정
ncol = 1 옵션 넣은 것
ncol = 1 옵션 안 넣은 것
scales = "free" 넣은것
scales = "free" 안 넣은것
scale_x_discrete 사용 안 한 것
미친자처럼 x축 라벨이 다 달리는 바람에 겹쳐서 선이 되어버림 ㄹㅇ 멸망
scale_x_discrete 사용 한 것
으음~깰끔~
5. 파일로 저장하기
###### pdf 열기 ######
pdf("example.pdf")
###### 그래프 그리기 ######
ggplot(MergeTsv,aes(x=REG_DATE,y=DATA, colour=DAY,group=DAY))+geom_line()+facet_wrap(~NAME,ncol = 1)
###### 닫기 ######
dev.off()
이렇게 하면 pdf로 저장됨
혹은
ggsave(file=pdfname,plot=all_plot,height=5, units="in", limitsize = FALSE)
그래프 그리기 연습하면서 참고한 블로그
* merge 내용 참고
* facet_wrap과 ncol 참고
* x축 표시 참고
* 아래 오류 참고
geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
반응형
'코딩 관련 > 기타' 카테고리의 다른 글
[R] 'origin'이 반드시 주어져야 합니다 (0) | 2021.04.30 |
---|---|
[GitHub] 원격 저장소 remote origin 변경 (0) | 2021.04.13 |
[VSCode][Tomcat] 'C:\Program' is not recognized as an internal or external command,operable program or batch file. (0) | 2021.03.19 |
[Windows] batch 파일에서 cmd 결과 변수에 저장하기 (0) | 2020.12.18 |
github와 이클립스 연동(git hub에 코드 업로드하기) (0) | 2020.10.11 |