.External.graphics R中的错误

luc*_*.hd 9 r heatmap

我使用下面的函数从48列X 32行的矩阵创建热图:

heatmap.2(all.data,Rowv = FALSE, Colv = FALSE, trace="none",main="All data",col=colorRampPalette(c("green","yellow","red")))
Run Code Online (Sandbox Code Playgroud)

由于去除了树形图,它给了我一些警告,但它仍然给了我想要的热图以及颜色键,发生了一些事情,现在当我尝试运行它时,它给了我没有颜色键的情节和错误:

Error in plot.new() : figure margins too large
In addition: Warning messages:
1: In heatmap.2(all.data, Rowv = FALSE, Colv = FALSE, trace = "none",  :
  Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram.
2: In heatmap.2(all.data, Rowv = FALSE, Colv = FALSE, trace = "none",  :
  Discrepancy: Colv is FALSE, while dendrogram is `none'. Omitting column dendogram.
Run Code Online (Sandbox Code Playgroud)

如果我将所有边的边距更改为1:

par(mar=c(1,1,1,1))
heatmap.2(all.data,Rowv = FALSE, Colv = FALSE, trace="none",main="All data",col=colorRampPalette(c("green","yellow","red")))
Run Code Online (Sandbox Code Playgroud)

再试一次它不会制作热图并给我这个错误:

Error in .External.graphics(C_layout, num.rows, num.cols, mat, as.integer(num.figures),  : 
  invalid graphics state
In addition: Warning messages:
1: In heatmap.2(all.data, Rowv = FALSE, Colv = FALSE, trace = "none",  :
  Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram.
2: In heatmap.2(all.data, Rowv = FALSE, Colv = FALSE, trace = "none",  :
  Discrepancy: Colv is FALSE, while dendrogram is `none'. Omitting column dendogram.
Run Code Online (Sandbox Code Playgroud)

我也尝试添加功能键= T,但颜色键仍然没有出现在热图中,任何帮助都将非常感谢!!!

Dan*_*ins 38

如果您的绘图过去一直在工作并且现在正在抛出invalid graphics state错误,请尝试通过调用重置图形设备dev.off().这是由RStudio的帮助网站建议的.


luc*_*.hd 6

弄清楚,这只是显示器的一个错误,如果我自动保存情节而不是要求RStudio向我显示,图表还可以