0

テーブルとプロットを同じ画像に配置するのが好きです。私はこれをやっています:

私のデータフレームxはこれです:

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

p1<-plot(x)
p2<-tableGrob(x)

png("image1.png")
grid.arrange(p2, p1, main="Total Data and Image"
dev.off()

動作しますが、p2とp1の間に多くのスペースがあるようです。どうすればスペースがないか、ほんの少ししかありませんか?また、メインでフォントを大きくする方法はありますか?

ありがとう、

4

2 に答える 2

3

これは答えではありません。

コードは再現できません。データを関数でラップしread.table()(そしてデフォルトの変数名を受け入れ)、ベースグラフィックを使用していると推測し、コードのタイプミスを修正し、gridExtraパッケージをロードします(関数に必要grid.arrange)、それでもコードを機能させることができません。パッケージを使用しggplot2てグラフを描画することで、コードを機能させることができます。コードが再現されました。再現性の高い優れた例を作成する方法については、こちらをご覧ください。そして、私のコードを使用すると、私の意見の結果はかなり良く見えます。しかし、それはあなたが意図したものではないかもしれません。そのため、コミュニティは再現可能な例を生成するように求めています。それなら、「p2とp1の間にたくさんのスペースがある」とはどういう意味かを理解するのがよいでしょう。

ただし、上記のコメントから回避策をとると、コードに不要な要素が含まれています。grid.arrangeとの両方は必要ありませんarrangeGrob。また、要素を並べて配置しているので、との両方は必要ないと思いwidthsますheightswidths一人で十分です。

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)))
于 2012-05-23T07:49:11.887 に答える
0

主な用途でフォントサイズを大きくするには:

plot(x, y , cex.main=3)

この投稿を見ると、フォントサイズについて理解できます 。Rソフトウェアでのプロット、大きなPNGファイルの軸の値を拡大する方法

于 2012-05-23T01:24:28.867 に答える