绘制温度热图
Plotting a heatmap of temperatures
我有一个矩阵,其中较小的版本看起来像这样
318.3 318.3 318.3
318.3 318.3 318.3
318.3 318.3 318.3
这些是处理器网格的温度。我想通过分配常规颜色来绘制热图,即蓝色代表冷核,红色代表热核。
我正在寻找的示例是:
我如何使用程序执行此操作,或者是否有 linux 的软件可以执行此操作?
看起来 rainbow
调色板可以与 image
一起使用
m <- matrix(c(1, 1,1,1,1,1,1,
1,2,2,3,2,2,1,
1,2,3,4,3,2,1,
1,2,2,3,2,2,1,
1,1,1,1,1,1, 1), 5,7, byrow=TRUE)
image(m, col=rev(rainbow(100))[ 70:100]) # need to reverse it to have high values red.
(heatmap
函数通常是 image
的 dolled-up 版本。)
有了这个文件(没有太大变化),你可以在没有 header 的情况下读取文件后得到结果,删除 NA 的列并强制转换为矩阵:
image( f, col=rev(rainbow(350))[ 270:350])
也可以使用 lattice::levelplot,明显的优势是自动获得比例:
levelplot(f, col.regions=rev(rainbow(350))[ 270:350])
我有一个矩阵,其中较小的版本看起来像这样
318.3 318.3 318.3 318.3 318.3 318.3 318.3 318.3 318.3
这些是处理器网格的温度。我想通过分配常规颜色来绘制热图,即蓝色代表冷核,红色代表热核。
我正在寻找的示例是:
我如何使用程序执行此操作,或者是否有 linux 的软件可以执行此操作?
看起来 rainbow
调色板可以与 image
m <- matrix(c(1, 1,1,1,1,1,1,
1,2,2,3,2,2,1,
1,2,3,4,3,2,1,
1,2,2,3,2,2,1,
1,1,1,1,1,1, 1), 5,7, byrow=TRUE)
image(m, col=rev(rainbow(100))[ 70:100]) # need to reverse it to have high values red.
(heatmap
函数通常是 image
的 dolled-up 版本。)
有了这个文件(没有太大变化),你可以在没有 header 的情况下读取文件后得到结果,删除 NA 的列并强制转换为矩阵:
image( f, col=rev(rainbow(350))[ 270:350])
也可以使用 lattice::levelplot,明显的优势是自动获得比例:
levelplot(f, col.regions=rev(rainbow(350))[ 270:350])