同じ画像に複数のプロットを入れたいのですが、画像に応じてプロット数を変えたいと思います。正確には、まず1x2のプロット行列を作成し、次に3x2のプロット行列を作成します。私はこれらの2つの画像について同じ基本設定を使用したいと思います - これは紙のためのもので、プロットのフォントサイズは少なくとも6ポイントでなければならないので、特に同じフォントサイズです。Rのフォント、プロットオブジェクトなどのサイズ変更を防止するにはどうすればよいですか?
これを達成するために、私はRのために以下のコードを書いた:
filename = "test.png"
font.pt = 6 # font size in pts (1/72 inches)
total.w = 3 # total width in inches
plot.ar = 4/3 # aspect ratio for single plot
mat.col = 2 # number of columns
mat.row = 1 # number of rows
dpi = 300
plot.mar = c(3, 3, 1, 2) + 0.1
plot.mgp = c(2, 1, 0)
plot.w = total.w/mat.col - 0.2 * plot.mar[2] - 0.2 * plot.mar[4]
plot.h = plot.w/plot.ar
total.h = (plot.h + 0.2 * plot.mar[1] + 0.2 * plot.mar[3]) * mat.row
png(filename, width = total.w, height = total.h, res = dpi * 12/font.pt, units = "in")
par(mfrow = c(mat.row, mat.col), mai = 0.2 * plot.mar, mgp = plot.mgp)
plot(1, 1, axes = T, typ = 'p', pch = 20, xlab = "Y Test", ylab = "X Test")
dev.off()
あなたが見ることができるように、私は3インチの幅の合計を設定し、私のイメージのための全体の高さを計算し、そのようプロットのアスペクト比は正しい。フォントサイズは、解像度だけを係数で変更します。 とにかく、mat.row = 1
からmat.row = 3
に移動すると、フォントサイズが大きく変わるという問題がありました。他のものも変更されています。たとえば、軸と余白のラベル付けは、以前はインチで指定していましたが、変更しました。
(トリミングされた画像):1行のみが設定されている
(トリミングされた画像):見てい
をどのように私がすることができますこれを防ぐ?私が見る限り、私はできる限りのことをしました。これはかなり時間がかかったので、gglplot
に切り替えるのではなく、最初からすべてを学ぶ代わりに、これを動作させたいと思います。それはまた私が本当に非常に明白な何かを欠いていることを本当に望むほど十分に小さいです。
?par
で
多分あなたは ''パー(PS = font.pt)したいですか? – Nate
[このSOの質問/回答](http://stackoverflow.com/questions/30467015/why-does-r-re-size-everything-in-the-plot-but-not-the-text-when-exported )役に立つかもしれません。 – eipi10
eipi10:たぶん私はこれを誤解しているかもしれませんが、その答えの人が知っていることは、幅と高さを変更すると要素が同じサイズに留まることです。私はそれを知っています、それは具体的に私がここで使用しようとしているものです。私の問題は、これが私の具体的な例でどのように動作するかではないということです。 – Fearabbit