2017-12-09 13 views
0

this question on Twitter라고 물었고 여기에있는 것이 좋을 것이라고 생각했습니다.플롯 라벨을 plot_grid와 함께 배열하면 오른쪽으로 이동합니다.

library(cowplot) 

p1 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) + 
    geom_density(alpha = 0.7) + 
    ggtitle("") + theme_minimal() 

p2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) + 
    geom_density(alpha = 0.7) + 
    ggtitle("") + 
    scale_fill_grey() + theme_minimal() 

plot_grid(p1, p2, labels = c("A", "B")) 

enter image description here

그러나 우리가 레이블로 긴 문자열을 사용하는 경우 : 단일 문자 레이블 예상대로 plot_grid()와 라벨 만들기

, 나란히 플롯, 가지 일 , 레이블은 오른쪽으로 이동, 그들은 더 이상 더 이동 문자열은 다음과 같습니다

plot_grid(p1, p2, labels = c("Density plot in color", "In gray")) 

enter image description here

어떻게이 문제를 해결할 수 있습니까?

면책 조항 : 나는이 패키지의 저자입니다. 희망에 대답과 함께 게시하면 유용 할 것입니다.

답변

1

hjust 및 의 기본값은 plot_grid()이며 단일 문자 레이블에 최적화되어 있으며 긴 레이블에는 사용할 수 없습니다. 설정을 재정의 문제를 해결 특히

plot_grid(p1, p2, labels = c("Density plot in color", "In gray"), 
      hjust = 0, label_x = 0.01) 

enter image description here

가 기본 hjust 설정 hjust = -0.5입니다. 그러면 라벨이 너비의 절반에 해당하는 양만큼 오른쪽으로 이동합니다. 이것은 한 글자 라벨에 대해 의미가 있습니다. 왜냐하면 label_x = 0을 설정하여 왼쪽 테두리에서 문자 폭의 절반을 문자로 나타낼 수 있기 때문에 레이블 글꼴 크기 나 사용자가 선택한 다른 플롯 기능과 상관없이 작동합니다.

그러나 레이블을 절반 너비만큼 움직여도 긴 레이블, 특히 길이가 다른 레이블에는 의미가 없습니다.