.External.graphics R中的错误

时间:2013-08-21 06:34:03

标签: r heatmap

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

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

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

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.

如果我将所有边的边距更改为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")))

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

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.

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

5 个答案:

答案 0 :(得分:36)

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

答案 1 :(得分:6)

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

答案 2 :(得分:3)

我也在RStudio中发现了这个问题。 它可以通过增加RStudio中绘图窗口的垂直尺寸来解决(否则绘图的一部分不适合窗口并发生错误)。

答案 3 :(得分:2)

我是通过在堆叠之前最大化窗口来实现的。

答案 4 :(得分:0)

这是与RStudio有关的问题。如果增加显示面板,它应该可以正常工作。假设没有其他编码错误。