2017-12-09 4 views
0

私はthis question on Twitterと質問していました。より長いプロットラベルは、plot_gridでプロットをアレンジしたときに右に移動します

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(p1, p2, labels = c("Density plot in color", "In gray")) 

enter image description here

どのようにこれを修正できますか?

免責事項:私はパッケージの作成者です。希望でこれをここに返信すると便利です。

答えて

1

パラメータhjustとのデフォルト設定は、plot_grid()で1文字のラベルに最適化されており、長いラベルでは機能しません。設定をオーバーライドする問題が修正されています。特に

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

enter image description here

は、デフォルト設定はhjusthjust = -0.5です。これにより、幅の半分に相当する量だけラベルが右に移動します。これは、1文字のラベルには意味があります。なぜなら、label_x = 0を設定することによって、文字を左端から半分の文字幅で表示させることができるからです。これは、ラベルのフォントサイズやユーザーが選択した他のプロットの機能に関係なく機能します。

しかし、ラベルの半分の幅でラベルを移動しても、長いラベル、特に異なる長さのラベルには意味がありません。

関連する問題