回答:
次のようなものはどうですか:
plot.new()
x11()
は、新しいデバイスを開くためのクロスプラットフォームのRコマンドです。デバイスを開いてを呼び出すplot.new()
と、現在のデバイスがクリアされます。
x11()
以上に利点はありdev.new()
ますか?私の直感は、ローカルのデフォルトデバイスが何であれ、後者に対応することですが、それがどのように機能するかはわかりません。
x11()
癖があるので使っています。私はRでのプロットの専門家ではありませんが、ドキュメントを一見すると、dev.new()
おそらくもっと良いでしょう。
後でグラフィックを追加するために、誰かが空のプロットを作成する必要があることをお勧めします。したがって、
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
グラフィックの軸の範囲を指定できます。
これは、元のソリューションよりもわずかに簡単です。
plot(0,type='n',axes=FALSE,ann=FALSE)
ann=FALSE
。とにかく空の領域になります。しかし、素晴らしい解決策、ありがとう!
以下はプロットに何もプロットせず、空のままになります。
plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel")
これは、後でfor
ループまたは類似のものの中に線やドットを追加する場合に便利です。プロットするデータに基づいてxlim
とのylim
値を変更することを忘れないでください。
注意点として:
これはまた、ボックスプロット、バイオリンプロットと群れプロットのために使用することができます。add = TRUE
それらのプロット関数に追加することを忘れat =
ないでくださいhorz = TRUE
。また、プロットする数値を指定するように指定します(これらの関数で設定していない限り、デフォルトはx軸です)。
grid.newpage() ## If you're using ggplot
grid() ## If you just want to activate the device.
grid()
グリッドパッケージ私の知る限りは無関係です
誰かがggplot2
解決策を探している場合は、cowplot
またはpatchwork
パッケージを使用できます
library(ggplot2)
### examples from cowplot vignettes
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
geom_point(size = 2.5)
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) +
geom_bar() +
theme(axis.text.x = element_text(angle = 0, vjust = 0.5))
library(cowplot)
### use NULL
plot_grid(plot.mpg, NULL, NULL, plot.diamonds,
labels = c("A", "B", "C", "D"),
ncol = 2
)
# Note: if you want to initialize an empty drawing canvas, use ggdraw()
library(patchwork)
### use plot_spacer()
plot.mpg + plot_spacer() + plot_spacer() + plot.diamonds +
plot_layout(ncol = 2) +
plot_annotation(
title = "Plot title",
subtitle = "Plot subtitle",
tag_levels = "A",
tag_suffix = ")"
)
reprexパッケージ(v0.2.1.9000)によって2019-03-17に作成されました
位置が設定されたいくつかのテキストを含む空のプロット。
plot(1:10, 1:10,xaxt="n",yaxt="n",bty="n",pch="",ylab="",xlab="", main="", sub="")
mtext("eee", side = 3, line = -0.3, adj = 0.5)
text(5, 10.4, "ddd")
text(5, 7, "ccc")
plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='')
ます。なぜなら、追加しmain = "", sub = ""
なくても同じ結果が得られるからです。