我使用下面的函数从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,但颜色键仍未出现在热图中,任何帮助都将非常感激!!!
答案 0 :(得分:36)
如果你的情节过去一直在使用并且现在抛出invalid graphics state
错误,请尝试通过调用dev.off()
重置图形设备。这是由RStudio的帮助网站建议的。
答案 1 :(得分:6)
想出来,这只是显示器的一个错误,如果我自动保存情节而不是要求RStudio向我展示它,图表还可以
答案 2 :(得分:3)
我也在RStudio中发现了这个问题。 它可以通过增加RStudio中绘图窗口的垂直尺寸来解决(否则绘图的一部分不适合窗口并发生错误)。
答案 3 :(得分:2)
我是通过在堆叠之前最大化窗口来实现的。
答案 4 :(得分:0)
这是与RStudio有关的问题。如果增加显示面板,它应该可以正常工作。假设没有其他编码错误。