これは答えではありません。
コードは再現できません。データを関数でラップしread.table()
(そしてデフォルトの変数名を受け入れ)、ベースグラフィックを使用していると推測し、コードのタイプミスを修正し、gridExtra
パッケージをロードします(関数に必要grid.arrange
)、それでもコードを機能させることができません。パッケージを使用しggplot2
てグラフを描画することで、コードを機能させることができます。コードが再現されました。再現性の高い優れた例を作成する方法については、こちらをご覧ください。そして、私のコードを使用すると、私の意見の結果はかなり良く見えます。しかし、それはあなたが意図したものではないかもしれません。そのため、コミュニティは再現可能な例を生成するように求めています。それなら、「p2とp1の間にたくさんのスペースがある」とはどういう意味かを理解するのがよいでしょう。
ただし、上記のコメントから回避策をとると、コードに不要な要素が含まれています。grid.arrange
との両方は必要ありませんarrangeGrob
。また、要素を並べて配置しているので、との両方は必要ないと思いwidths
ますheights
。widths
一人で十分です。
library(ggplot2)
library(gridExtra)
x = read.table(text = "
1/1/2010 10
1/2/2010 20
1/3/2010 15
1/4/2010 56
1/5/2010 46
1/6/2010 15
1/8/2010 15
1/9/2010 15
1/10/2010 20
1/11/2010 15
1/12/2010 15
1/13/2010 40
1/14/2010 15
1/15/2010 15
1/16/2010 70", sep = "", header = FALSE)
p1<-ggplot(x, aes(V2, V1)) + geom_point()
p2<-tableGrob(x)
grid.arrange(p2, p1, main="Total Data and Image", ncol = 2)
あなたの修正:
grid.arrange(p2, p1, main="Total Data and Image", ncol = 2, widths=c(1,2))
Baptisteのソリューションを編集
します-以下のコメントを参照してください:
grid.arrange(p2, p1, main=textGrob("Total Data and Image", gp=gpar(cex=3)), ncol = 2,
widths=unit.c(grobWidth(p2), unit(1,"npc") - grobWidth(p2)))