格子 R 中的 levelplot:如何获得单元格中显示的正确小数位数
levelplot in lattice R: How to get right number of decimals displayed in cells
在 lattice 中使用 levelplot,我想出了如何显示每个单元格的相应值。对于矩阵 m:
myPanel <- function(x,y,z, ...){
panel.levelplot(x,y,z,...)
panel.text(x,y, round(m,2),col=bw[col.m])
}
levelplot(m, col.regions=col.range, colorkey=NULL, xlab=NULL, ylab=NULL,
scales = list(x = list(draw = FALSE), y = list(draw = FALSE)),
panel= myPanel)
四舍五入的矩阵值为
round(m,2)
13 14 15 16 17 18
GDcsp -0.44 -0.34 -0.39 -0.35 -0.53 -0.60
GDsor 0.14 0.07 0.03 0.01 0.06 0.09
GDdup 0.43 0.36 0.34 0.36 0.46 0.52
GDhsw 0.22 0.05 0.11 0.00 0.20 0.26
Gdwpa 0.17 0.25 0.32 0.37 0.46 0.47
问题是 -0.60 和 0.00 在相应的单元格中分别显示为 0.6 和 0,而我希望所有数字都保留两位小数。欢迎任何解决此问题的想法。
myPanel <- function(x,y,z, ...){
panel.levelplot(x,y,z,...)
panel.text(x,y, sprintf("%.2f", m))
}
levelplot(m, colorkey=NULL, xlab=NULL, ylab=NULL,
scales = list(x = list(draw = FALSE), y = list(draw = FALSE)),
panel= myPanel)
您可以使用sprintf
强制输出2位小数。
在 lattice 中使用 levelplot,我想出了如何显示每个单元格的相应值。对于矩阵 m:
myPanel <- function(x,y,z, ...){
panel.levelplot(x,y,z,...)
panel.text(x,y, round(m,2),col=bw[col.m])
}
levelplot(m, col.regions=col.range, colorkey=NULL, xlab=NULL, ylab=NULL,
scales = list(x = list(draw = FALSE), y = list(draw = FALSE)),
panel= myPanel)
四舍五入的矩阵值为
round(m,2)
13 14 15 16 17 18
GDcsp -0.44 -0.34 -0.39 -0.35 -0.53 -0.60
GDsor 0.14 0.07 0.03 0.01 0.06 0.09
GDdup 0.43 0.36 0.34 0.36 0.46 0.52
GDhsw 0.22 0.05 0.11 0.00 0.20 0.26
Gdwpa 0.17 0.25 0.32 0.37 0.46 0.47
问题是 -0.60 和 0.00 在相应的单元格中分别显示为 0.6 和 0,而我希望所有数字都保留两位小数。欢迎任何解决此问题的想法。
myPanel <- function(x,y,z, ...){
panel.levelplot(x,y,z,...)
panel.text(x,y, sprintf("%.2f", m))
}
levelplot(m, colorkey=NULL, xlab=NULL, ylab=NULL,
scales = list(x = list(draw = FALSE), y = list(draw = FALSE)),
panel= myPanel)
您可以使用sprintf
强制输出2位小数。