今天早上,我开始寻找一种解决方案,从我在这里拥有的成对值表中生成热图。我发现格子包提供levelplots
的东西看起来就像我所追求的。当我设法将我的数据转换为正确的格式时,我使用了levelplot
. 默认颜色主题不会产生我想要的,我在网上找到了灰度解决方案。但是,现在控制更多的情节有点超出我的范围。我不经常使用 R 并且对许多更深层次的数据结构还不是很熟悉。
我当前的命令是:
library("lattice")
matrix <- as.matrix(rev(read.table("inputfile",header=T,row.names=c(<list of ten names>))))
levelplot(matrix,col.regions = grey(100:0/100))
这是 dput 矩阵的输出:
结构(C(“937.5”,“652.5”,“1066.5”,“787.5”,“229.5”,“115.5”, “787.5”、“763.5”、“415.5”、“不适用”、“1483.5”、“1360.5”、“1858.5”、 “1309.5”、“478.5”、“322.5”、“1375.5”、“1588.5”、“不适用”、“1759.5”、 “643.5”、“904.5”、“1189.5”、“712.5”、“256.5”、“154.5”、“829.5”、 “不适用”、“403.5”、“1231.5”、“808.5”、“1096.5”、“1195.5”、“913.5”、 “292.5”、“187.5”、“不适用”、“1147.5”、“478.5”、“1192.5”、“6712.5”、 “6373.5”、“6517.5”、“6058.5”、“4555.5”、“不适用”、“6394.5”、“7357.5”、 “6214.5”、“6835.5”、“3412.5”、“3991.5”、“3814.5”、“3793.5”、“不适用”、 “1327.5”、“3994.5”、“3808.5”、“3307.5”、“4618.5”、“1261.5”、“1261.5”、 “1162.5”、“不适用”、“310.5”、“220.5”、“1195.5”、“1639.5”、“574.5”、 “1732.5”、“871.5”、“847.5”、“不适用”、“610.5”、“262.5”、“172.5”、 “943.5”、“985.5”、“448.5”、“1525.5”、“940.5”、“不适用”、“1105.5”、 “829.5”、“292.5”、“160.5”、“961.5”、“1198.5”、“538.5”、“1495.5”、 “不适用”、“832.5”、“1009.5”、“880.5”、“280.5”、“196.5”、“952.5”、 “1357.5”、“550.5”、“1456.5”)、.Dim = c(10L、10L)、.Dimnames = 列表( c("NA_Pacific", "NA_Central", "NA_Atlantic", "格陵兰", “EU_NW”、“EU_WM”、“EU_BS.EM”、“Asia_SW”、“Asia_Central”、 "Asia_East"), c("Asia_East", "Asia_Central", "Asia_SW", "EU_BS.EM", “EU_WM”、“EU_NW”、“格陵兰”、“NA_Atlantic”、“NA_Central”、 “北美太平洋”)))
这几乎创造了我想要实现的目标。但是灰色很丑。我如何将其更改为蓝色?用灰色代替蓝色不起作用...
此外,它会将标签打印到我在输入表中指定的刻度上。这适用于 y 轴,但不适用于 x 轴。如何回收 y 轴刻度以将它们打印到 x 轴刻度(旋转 90 度)?
最后,沿 x 轴(顶部和底部)有一点点空白。虽然这不是真正的问题,但是消除它会很好。
我希望至少可以解决一些问题。提前致谢。