修正方法:plot.new() のエラー:図の余白が大きすぎます


R で発生する可能性のあるエラーは次のとおりです。

 Error in plot.new(): figure margins too large

このエラーは、RStudio のプロット パネルが、作成しようとしているプロットの余白に対して小さすぎる場合に発生します。

このチュートリアルでは、このエラーを修正する方法を正確に説明します。

エラーを再現する方法

R で次のプロットを作成しようとするとします。

 #attempt to create scatterplot
plot(1:30)

次のエラーが表示されます。

 Error in plot.new(): figure margins too large 

このエラーが発生するのは、プロット パネルが非常に小さいため (左下隅のパネルのサイズに注意してください)、このような小さなパネルではプロットの余白を表示できないためです。

方法 #1: プロット パネルのサイズを大きくしてエラーを修正する

このエラーを修正する最も簡単な方法は、RStudio のプロット パネルのサイズを大きくすることです。

 plot(1:30)

プロット パネルはプロットの余白を表示するのに十分な大きさであるため、エラーは発生しないことに注意してください。

方法 #2: par() 関数を使用してエラーを修正する

デフォルトでは、R のpar()関数はプロットのマージンを次のように設定します。

  • 下マージン: 5.1
  • 左マージン: 4.1
  • 上マージン: 4.1
  • 右マージン: 2.1

ただし、次の構文を使用してマージンを減らすことができます。

 #adjust plot margins
by(mar = c(1, 1, 1, 1))

#create scatterplot
plot(1:30) 

マージンを大幅に削減したため、プロットは RStudio のプロット パネルに正常に表示されます。

方法 #3: 現在のトレース デバイスを停止してエラーを修正する

上記のどの方法でもエラーが解決しない場合は、次のコードを使用して現在のトレース デバイスを停止する必要がある場合があります。

 dev. off ()

これにより、現在のプロットに干渉する可能性のある以前のプロットに使用されたプロット設定が削除されるため、場合によってはエラーが解決されることがあります。

追加リソース

次のチュートリアルでは、R で他の一般的なトレース関数を実行する方法について説明します。

R で par() 関数を使用する方法
R でプロットをオーバーレイする方法
R で複数のプロットを PDF として保存する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です