2016-11-16 2 views
0

세 위치에 대해 가지고있는 데이터의 연간 평균값을 표시하려고합니다. 나는 plot() 함수를 규칙적으로 사용했고 전에 이런 문제가 없었습니다. 어떤 이유로이 데이터를 그릴 때마다 첫 번째 위치 데이터에 계단 모양 스타일이 추가됩니다. 나는 모든 가능한 대안으로 "type ="을 바꾸려고 노력했다. 그리고 그것을 무시하는 것 같다. 나는 또한 type = "n"을 설정하고 point()를 사용하여 데이터를 추가하려고 시도했으며 첫 번째 데이터 세트에 계단 모양 스타일이 여전히 남아 있습니다. Output PlotR : 데이터에 스텝 기능을 추가하는 플롯 기능

:

여기
par(mfrow = c(1,1)) 
plot(x = OrganicsRemoval$Year, y = OrganicsRemoval$x, type = "n", main = "TOC Percent Removal", 
ylab = "TOC Percent Removal", xlab = "Year", ylim = c(0,65)) 
points(x = OrganicsRemoval$Year, y = OrganicsRemoval$x, type = "b", col = "red") 
points(x = OrganicsRemoval$Year, y = OrganicsRemoval$z, type = "b", col = "blue") 
points(x = OrganicsRemoval$Year, y = OrganicsRemoval$y, type = "b", col = "black") 
legend("topright", legend = c("x", "z", "y"), col = c("red", "blue", "black"), lwd = 1) 

가 출력 것입니다 : 여기

OrganicsRemoval <- data.frame(Year = c("1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", 
            "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", 
            "2015", "2016"), 
          x = c(22,28,20,30,34,31,33,45,42,43,38,50,47,50,50,47,46,44,48,55,57,50), 
          y = c(18,23,25,16,23,24,24,31,36,39,36,42,39,40,42,46,40,42,40,42,44,42), 
          z = c(15,21,22,16,36,33,31,39,38,39,39,46,42,46,45,43,43,44,42,44,45,41)) 

내가 데이터를 플롯 사용하고있는 코드입니다 : 여기

내가 사용한 데이터 세트 인

나는 그 단계와 같은 형식을 없애기 위해 어떤 도움을 주셔서 감사하겠습니다. 감사!

답변

1

OrganicsRemoval$Year을 숫자로 표시하면 플롯이 올바르게 보입니다.

데이터 프레임을 만들 때 stringsAsFactors = FALSE 문자열을 사용하지 않으면 factor가됩니다. 나는 이것이 문제의 원인이라고 생각한다. 숫자로 형변환하지 않으면 '계단 모양'의 것들이 이미 초기 plot 문에 나타납니다. 당신은 데이터 프레임을 만들 때

enter image description here

plot(x = as.numeric(OrganicsRemoval$Year), y = OrganicsRemoval$x, type = "n", main = "TOC Percent Removal", 
ylab = "TOC Percent Removal", xlab = "Year", ylim = c(0,65)) 

points(x = OrganicsRemoval$Year, y = OrganicsRemoval$x, type = "b", col = "red") 
points(x = OrganicsRemoval$Year, y = OrganicsRemoval$z, type = "b", col = "blue") 
points(x = OrganicsRemoval$Year, y = OrganicsRemoval$y, type = "b", col = "black") 
legend("topright", legend = c("x", "z", "y"), col = c("red", "blue", "black"), lwd = 1) 

다른 방법으로는, 위에서 언급 한 바와 같이, stringsAsFactors = FALSE를 사용할 수 있습니다.

+1

감사합니다. 이제 작동 중입니다. – tbradley