私はRに慣れていませんが、より小さなデータセットで多数の相関プロットを作成しました。しかし、大きなデータセット(2 GB +)をプロットしようとすると、プロットを問題なく作成できますが、凡例は表示されません。何かアドバイス?それとも代替案?
library(gplots)
r.cor <- cor(r)
layout(matrix(c(1,1,1,1,1,1,1,1,2,2), 5, 2, byrow = TRUE))
par(oma=c(5,7,1,1))
cx <- rev(colorpanel(25,"yellow","black","blue"))
leg <- seq(min(r.cor,na.rm=T),max(r.cor,na.rm=T),length=10)
image(r.cor,main="Correlation plot Normal/Tumor data",axes=F,col=cx)
axis(1, at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
axis(2,at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
image(as.matrix(leg),col=cx,axes=T)
plot.new()
のエラー:図の余白が大きすぎます
tmp <- round(leg,2)
axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1)
私は、あなたのlayout()
呼び出しで作成された小さい数字の領域2が、プロットだけではなく、デフォルトのマージンだけを含むのに十分な大きさではないことが問題であると思います。
問題を引き起こしている行の前に試してください。
par(mar = rep(2, 4))
それから2番目の画像をプロットする
image(as.matrix(leg),col=cx,axes=T)
これを正しく行うには、私が示すpar()
呼び出しの余白のサイズを試してみる必要があります。プロットしようとしている実際のデバイスのサイズを大きくする必要があるかもしれません。
最後のヒントは、変更する前にpar()
のデフォルト値を保存してから、既存のpar()
呼び出しを次のように変更します。
op <- par(oma=c(5,7,1,1))
それから作図の最後にdo
par(op)
このエラーは、単に「プロット」ペインが小さすぎるためにRstudioで発生する可能性があります。あなたの「ファイル、プロット、パッケージ、ヘルプ、ビューア」をズームして、それが役立つかどうか確かめてください!
R Studioでこのエラーが発生しましたが、Edgeを右から左にクリックアンドドラッグしてサイドバーを大きくすることで簡単に修正できました。
これはRStudioで時々起こります。これを解決するために、外部ウィンドウにプロットすることを試みることができます(Windowsのみ)。
windows() ## create window to plot your file
## ... your plotting code here ...
dev.off()
オブジェクトがリストかベクトルかを確認してください。これを行うには、is.list(yourobject)
と入力します。これが当てはまる場合は、x<-unlist(yourobject)
という名前に変更してみてください。これでプロットできるベクトルになります。
高次元データをプロットしようとしたときにこのエラーが発生しました。それがあなたと何が起こっているのであれば、多次元スケーリングを試してみてください。 http://www.statmethods.net/advstats/mds.html
私は(RStudioを使って)このエラーに何週間も苦労しました。プロットウィンドウを大きくしたり小さくしたりしてみましたが、それは一貫して助けにはなりませんでした。私がもっと大きいモニタにアプリケーションを移動(ドラッグ)すると、問題は解決しました。私は驚きました...非常に多くの時間を無駄にしました...私は自分のコードが正しいことを知っていました...
私は今日このエラーを見つけました。最初は、幅と高さが低い.jpeg
ファイルに出力しようとしていました。
jpeg("method1_test.jpg", width=900, height=900, res=40)
後で幅と高さを次のように増やしました。
jpeg("method1_test.jpg", width=1900, height=1900, res=40)
エラーはありませんでした。 :)
解像度が高い場合は、より多くの幅と高さが必要です。
今日も同じエラーを見つけました。 [プロットをすべてクリア]ボタンを試しましたが、同じエラーが表示されました。それからこのトリックは私のために働きましたドラッグすることによってプロット領域を広げようとしてください。それは確実にあなたを助けるでしょう。
[すべてのプロットをクリア]を使用してから、再度プロットコマンドを入力しましたが、役に立ちました。
RStudio Plotsキャンバスは、プロットの幅と高さを制限しています。ただし、Rmarkdown codeチャンクからプロットを作成した場合は、用紙サイズに応じてプロット領域が設定されるため、キャンバスフィールドの制限なしで機能します。
例えば:
```{r}
#inside of code chunk in Rmarkdown
grid <- par(mfrow=c(4, 5))
plot(faithful, main="Faithful eruptions")
plot(large.islands, main="Islands", ylab="Area")
...
par(grid)
```