gpt4 book ai didi

r - gplots 库中 Heatmap.2 函数的格式问题 - 边距和轴

转载 作者:行者123 更新时间:2023-12-02 13:56:44 35 4
gpt4 key购买 nike

我已经使用 gplots 包中的 heatmap2 在 R 中创建了一个热图,但在尝试格式化图像以在报告中使用时遇到了很大的麻烦。

该图像表示小波系数的小相关矩阵的特征值,我希望用红色等强烈颜色表示最大特征值,使用柔和的黄色或类似颜色表示最小特征值。调色板并不是问题,而是颜色的表现。目前黄色代表最大的特征值,所以如果可能的话我希望颠倒顺序。

此外,是否可以旋转与下面第一张图片类似的图例,我已经检查了此类信息的帮助,但我所能找到的只是行和列标签旋转?

Ideal legend

由于我的数据代表一周每小时采集的数据,因此如何更改 x 轴值以显示以下 12/24 小时向量:12,24,36,48,60,72,84,96,108,120,132,144,156,168。我尝试使用 cexCol 进行设置,但收到有关 cex.axis 长度错误的错误,并且我没有将其视为 heatmap2 中的参数。

par(mfrow=c(1,1))
heatmap.2(eigenvalsCombined,
trace = "none",
dendrogram = "none",
Rowv = NULL,
Colv = NULL,
density.info = "none",
margin = c(5,7),
main = expression(paste("Heatmap of Largest Eigenvalues ",
lambda[1],
" Across 7 Wavelet Scales")),
xlab = "Time Index (hours)",
key = TRUE,
lmat = rbind(c(2,3),c(4,1)),
key.title = NA,
key.xlab = "Eigenvalue Magnitude")

正如您从下面的图片中看到的,主标题也被切掉了,我尝试过使用外部和内部边距,但这也没有任何影响。当我使用绘图仪中的缩放功能并放大图像时出现文本,这是否意味着我的格式正确?

enter image description here

对于那些对数据感兴趣的人,我已将 dput(eigenvalsCombined) 的副本发布到 google drive可供下载。

最佳答案

对于这样的任务,我喜欢调用 image 或使用 fields 包。对我来说,在这样的任务中使用 gplotsheatmap2 没有任何附加值。

library(fields)

sq <- c("", seq(12,168, 12))

par(mar=c(3.1,5.1,4.1,7.1), xpd=TRUE)
image(t(eigenCombined), col = rev(heat.colors(100)),
xaxt="n", yaxt="n", bty="n", xlim=c(-0.15,1),
main=expression(paste("Heatmap of Largest Eigenvalues ",
lambda[1], " Across 7 Wavelet Scales")))
axis(4, at = seq(0,1, length.out = 7),
labels = rownames(eigenCombined), lty = 0, las=2)

axis(1, at = seq(0,1, length.out = length(sq)),
labels = sq, lty = 0, las=2)

image.plot(t(eigenCombined), legend.only = TRUE,
col = rev(heat.colors(100)),
smallplot = c(0.05,0.1, 0.1,0.85))

enter image description here

关于r - gplots 库中 Heatmap.2 函数的格式问题 - 边距和轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45131106/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com