2014-04-29 2 views
1

ggplot에 몇 가지 문제가 있습니다. 내가하고 싶은 것은 일반적인 박스 플롯 그래픽과 몇 가지 테이블을 플로팅하는 것입니다.R : ggplot이 레이블 순서를 변경합니다.

lab.df<-data.frame(lab1=c("0-12.9","13.0-19.2","19.3-23.2","23.3-26.3","26.4-29.8","29.9-33","33.1-36.5","36.6-40.8","40.9-46.2","46.3-100"), 
lab2=c("7.80","16.62","21.29","24.71","28.12","31.40","34.80","38.60","43.22","53.77"), 
lab3=c("58.63","46.03","46.68","48.84","51.92","54.11","56.50","59.71","62.41","68.33")) 

을 그리고 여기 만들고 테이블 NR을 저장

여기에 내가 .df로 테이블의 값을 정의합니다. 2 :

df.table2 <- ggplot(lab.df, aes(x = lab2, y = 0, 
           label = lab2)) + 
    geom_text(size = 5, colour = "black") + 
    theme_minimal() + 
    scale_y_continuous(breaks=NULL, name = "Mittelwert Parteistärke (%)")+ 
    theme(panel.grid.major = element_blank(), legend.position = "none", 
     panel.border = element_blank(), axis.text.x = element_blank(), 
     axis.ticks = element_blank(), 
     axis.title.x=element_blank(), 
     axis.title.y=element_text(angle = 0, hjust = 2.9)) 

이제 ggplot에서 grid.arrange가있는 테이블을 사용하면 값의 순서가 변경됩니다. 내가 값은에서 변경

plot(df.table2) 

와 테이블 " 7.80, 16.62,21.29,24.71,28.12,31.40,34.80,38.60,43.22,53.77" "16.62에 플롯 할 때 같은, 발생 21.29,24.71,28.12,31.40,34.80,38.60,43.22,53.77, 7.80"

가 아무리 순서를 변경하는 방법, 7.80가 시작 부분이 아닌 마지막 부분에서 항상 없다. 나는 무엇을 감독합니까? 당신의 도움을 주셔서 대단히 감사합니다!

답변

0

왜이 숫자를 numerics 대신 factors이되게 하시겠습니까? 문제를 해결하는 가장 쉬운 방법은 당신이 정말로 요인을해야하는 경우 단지 numerics

lab.df$lab2 <- as.numeric(as.character(lab.df$lab2)) 

로 변환하는 것입니다, 당신은 원하는 순서를 지정해야합니다. 그렇지 않으면 순서는 알파벳순이며 7.8은 53.77 뒤에옵니다.

lab.df$lab2 <- factor(lab.df$lab2, levels=lab.df$lab2) 
+0

요인을 사용하면 테이블의 숫자가 원하는 방식으로 정렬되지 않고 숫자 사이의 간격이 불규칙합니다. 하지만 두 번째 솔루션은 경이로운 것으로 작동합니다. 대단히 감사합니다! – GioDC

관련 문제