2011-09-02 59 views

回答

9

heatmap函数中,轴的位置是硬编码的。但是只需更改一个号码就可以很容易地将其定位在另一侧。在控制台输入“heatmap”,并在第二个axis()调用中将第一个参数从4更改为2。

我所改变的是:

axis(2, iy, labels = labRow, las = 2, line = -0.5, tick = 0, # the 2 used to be 4 
     cex.axis = cexRow) 

目前仍需要在利润率变化以适应开关。更改为0到5的电流值似乎我从帮助页面播放的例子创造足够的空间。

... 
par(mar = c(margins[1L], 5, 0, margins[2L])) 

这是我的测试案例:

x <- as.matrix(mtcars) 
rc <- rainbow(nrow(x), start=0, end=.3) 
cc <- rainbow(ncol(x), start=0, end=.3) 
utils::str(hv) # the two re-ordering index vectors 

## no dendrogram (nor color strip) 
heatmap.new(x, Colv = NA, Rowv=NA, col = cm.colors(256), scale="column", 
     margins=c(5,2), 
     xlab = "specification variables", ylab= "Car Models", 
     main = "heatmap(<Mtcars data>, ..., scale = \"column\")") 
+0

注:我注意到了' side ='参数并改变它们。同样的结果,没有轴标签。这可能是“边缘”问题吗?热图像似乎塞进了图像的左上角。我会继续玩。我认为我们在这里是正确的。谢谢! – James

+0

不知道你为什么使用3.这将是最高。你可能需要更完整地说出你的所作所为。我的答案假定你知道如何从现有的代码创建一个新的功能。虽然您仍然需要使用par()调整边距,但确实会发生边切换。 –

+0

我用3代表x轴,2代表y轴,因为我希望它们分别位于顶部和左侧。 – James

相关问题