web-dev-qa-db-ja.com

特定のサイズのプロットウィンドウの作成

特定の幅と高さ(ピクセル単位など)で新しいオンスクリーンRプロットウィンドウを作成するにはどうすればよいですか?

56
Ryan R. Rosario

dev.new()を使用します。 ( この関連する質問 を参照してください。)

plot(1:10)
dev.new(width=5, height=4)
plot(1:20)

使用される単位をより具体的にするには:

dev.new(width=5, height=4, unit="in")
plot(1:20)
dev.new(width = 550, height = 330, unit = "px")
plot(1:15)
56
Shane

これは、使用しているデバイスによって異なります。 pdf device を使用している場合、これを行うことができます。

pdf( "mygraph.pdf", width = 11, height = 8 )
plot( x, y )

次に、次のようにmfrowパラメーターを使用して、pdf内のスペースを分割できます。

par( mfrow = c(2,2) )

これにより、4つのパネルを含むPDFがプロット可能になります。残念ながら、一部のデバイスは他のデバイスとは異なるユニットを使用します。たとえば、X11ではピクセルを使用しているのに対し、pdfではインチを使用していると確信しています。複数のデバイスを作成して、それらに異なるものをプロットしたい場合は、 dev.new()、dev.list()、およびdev.next() を使用できます。

役に立つかもしれない他のデバイスは次のとおりです。

すべてのデバイスのリストがあります こちら

19
James Thompson

@Shaneの受け入れられたソリューションはRStudioでサポートされていないため( here を参照)、現時点(2015年9月)で、ワークフローに関する@James Thompsonの回答にアドバイスを追加したいと思います。

SumatraPDF をビューアとして使用する場合、PDFファイルに変更を加える前にファイルを閉じる必要はありません。Sumatraは開いているファイルを読み取り専用にしないため、したがって、PDFファイルをSumatraで開くと、RStudio(または他のR IDE)からの変更がすぐにSumatraに表示されます。

6
ToJo

プロットを保存する便利な関数は ggsave() です。これは、ファイル拡張子に基づいてデバイスタイプを自動的に推測し、デバイス間の違いを滑らかにします。次のような特定のサイズと単位で保存します。

ggsave("mtcars.png", width = 20, height = 20, units = "cm")

Rマークダウンでは、 図のサイズはチャンクで指定できます

```{r, fig.width=6, fig.height=4}  
plot(1:5)
```
0
qwr