반응형
R 히스토그램 여러개 겹쳐그리기 (투명하게)
오늘 코드 모아보기
#break 설정
x_ax=seq(02,8,0.2)
#히스토그램 만들어서 저장, plot=FALSE로 설정하여 그려지지 않게함
hist1=hist(iris$Sepal.Length, breaks=x_ax, plot = FALSE)
hist2=hist(iris$Sepal.Width, breaks=x_ax, plot = FALSE)
#plot 함수로 히스토그램 그리기
plot(hist1, col=adjustcolor("red",alpha=0.5),ylim=c(0,40),ann=FALSE)
plot(hist2, col=adjustcolor("blue",alpha=0.5), add = TRUE)
#제목설정
title(main="my histogram")
#범례 설정
legend("topright",legend=c("length","width"),fill=c("red","blue"))
따라하기
데이터는 iris데이터를 사용하겠습니다. R내장데이터입니다.
iris데이터의 Sepal.Length와 Sepal.Width를 히스토그램으로 그릴 것입니다.
먼저 x축 범위를 알아야 하는데요. 이를 위해 두 데이터의 최댓값과 최솟값을 확인합니다.
> max(iris$Sepal.Length,iris$Sepal.Width)
[1] 7.9
> min(iris$Sepal.Length,iris$Sepal.Width)
[1] 2
x범위를 2~8사이로 설정합니다. 히스토그램에서는 breaks(계급구간)을 설정할 수 있으므로, 아래와 같이 설정합니다. 간격 0.2는 그래프가 그려진 뒤에 변경해줍시다.
#break 설정
x_ax=seq(02,8,0.2)
히스토그램을 그려야하는데요. hist 함수로 바로 그리지 않고, hist함수를 변수에 저장한 뒤 plot 함수로 그려줄것입니다. 아래와 같이 저장합시다.
#히스토그램 만들어서 저장, plot=FALSE로 설정하여 그려지지 않게함
hist1=hist(iris$Sepal.Length, breaks=x_ax, plot = FALSE)
hist2=hist(iris$Sepal.Width, breaks=x_ax, plot = FALSE)
plot함수를 시용하여 히스토그램을 그립니다. 두번째 함수를 그릴 때는 add=TRUE로 설정합니다. adjustcolor 함수로 투명도를 설정합니다. ylim은 전체가 나오도록 적당히 조절합니다. ann을 FALSE로 설정하여 title, 축이름 등이 나오지 않게 합니다. 이후에 title 함수로 설정할 것입니다.
#plot 함수로 히스토그램 그리기
plot(hist1, col=adjustcolor("red",alpha=0.5),ylim=c(0,40),ann=FALSE)
plot(hist2, col=adjustcolor("blue",alpha=0.5), add = TRUE)
마지막으로 title과 범례를 추가해줍니다.
#title
title(main="my histogram")
#범례
legend("topright",legend=c("length","width"),fill=c("red","blue"))
아래는 결과입니다.
반응형
'2. 그래프 그리기 (고수준 함수) > hist() - 히스토그램' 카테고리의 다른 글
R 히스토그램 x축, y축 눈금 설정하기 (0) | 2020.12.09 |
---|---|
R 밀도(density) 히스토그램 히스토그램의 y값이 왜 1이 넘을까 (0) | 2020.12.09 |
R 역 누적분포 히스토그램 (0) | 2020.12.08 |
R 누적도수 그래프 (cumsum) (0) | 2020.12.08 |
R 밀도(density) 히스토그램 (0) | 2020.12.08 |
댓글