동일한 페이지에 ggplot을 사용하여 여러 개의 플롯을 표시하고 여기에 설명 된 multiplot 함수를 http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_(ggplot2)/으로 표시하고 싶습니다. 내 데이터는 큰 데이터 프레임에 저장되며 첫 번째 열은 마침표와 일치합니다. 나는 칼럼 2:26을 시각화하고 싶다. 내 문제는 사용하여 재현 :루프, 데이터 프레임 및 gplot
rawdata1 <- data.frame("Period" = 1:34, "Sample" = sample(x = c(1,2),34, replace = TRUE),"Runif" = runif(n = 34))
를 직관적으로, 다음 코드를 사용합니다 (2와 3 2:26로 대체)
out <- NULL
for (i in 2:3){
out[[i-1]] <- ggplot(rawdata1, aes("Period", y = value)) + geom_line(aes(x = Period, y = rawdata1[[i]])) + ggtitle(label = colnames(rawdata1)[i])
}
multiplot(plotlist = out, cols = 2)
이 그러나, 여러 그래프를 플롯에 내 문제를 성공 플로팅 된 각 그래프는 동일한 열 (위의 예에서 열 3, 내 데이터 집합의 열 26)에서 데이터를 사용한다는 것입니다. 내 "out"목록에 y 값이 동적으로 저장된 ggplot 목록을 저장하기 때문에 이것이 문제라는 것을 혼란스러워했습니다.
i의 최종 값은 26이며 "out"에서 항목을 호출하면 그래프의 작성에 i의 현재 값이 사용됩니다. 따라서 모든 그래프는 동일한 열을 사용하여 표시됩니다. 내가 R을 처음 접했을 때 내 변수가 올바르게 관리되지 않는다고 생각합니다. 어떤 도움을 주시면 감사하겠습니다.
당신은 당신이 제안하는 방식을 (위해 – baptiste
을 facetting 긴 형식과 사용에 data.frame을 녹여 간단하게 할 수) aes()를 쓰지 말고'aes_string()'을 써야합니다. (이것이 패싯 (facet)을위한 것입니다.) – Gregor