首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Levelplot上显示矩阵值

如何在Levelplot上显示矩阵值
EN

Stack Overflow用户
提问于 2012-12-16 03:34:26
回答 3查看 9.1K关注 0票数 5

我有一个矩阵数据here,并且我用levelplot将其可视化。图放在下面。但我就是不能把这些值放入图中,我是说,我读了this question,但仍然不能理解它。

我该怎么做呢?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-12-16 04:10:07

您链接到的答案中的代码的问题是,只有当levelplot的公式中的对象名为xyz时,它才有效。

下面是一个使用更标准的习惯用法来处理传递给自定义面板函数的参数的示例,因此变得更加适用:

代码语言:javascript
复制
library("lattice")

## Example data
x <- seq(pi/4, 5*pi, length.out=10)
y <- seq(pi/4, 5*pi, length.out=10)
grid <- expand.grid(X=x, Y=y)
grid$Z <- runif(100, -1, 1)

## Write a panel function (after examining 'args(panel.levelplot) to see what
## will be being passed on to the panel function by levelplot())
myPanel <- function(x, y, z, ...) {
    panel.levelplot(x,y,z,...)
    panel.text(x, y, round(z,1))
}

## Try it out
levelplot(Z ~ X*Y, grid, panel = myPanel)

票数 12
EN

Stack Overflow用户

发布于 2012-12-16 04:31:05

代码语言:javascript
复制
mat <- read.csv("J_H2S1T6_PassTraffic.csv", header=F)

y        <- as.numeric(mat[1,-1])
mat      <- mat[-1,-1]
n        <- dim(mat)[1]

这里是一个修改,我生成了一个新的比例

代码语言:javascript
复制
x <- seq(min(y), max(y), length.out=n)
grid     <- expand.grid(x=x, y=x)
mat      <- as.matrix(mat)
dim(mat) <- c(n*n,1)
grid$z   <- mat

这里是修改的地方。我将矩阵的维度更改为向量,以将其放入网格中。

代码语言:javascript
复制
mat <- as.matrix(mat)
dim(mat) <- c(n*n,1)
grid$z <- mat

p <- levelplot(z~x*y, grid, 
           panel=function(...) {
             arg <- list(...)
             panel.levelplot(...)
             panel.text(arg$x, arg$y,arg$z)},
           scales = list(y = list(at=y,labels=y),
                         x = list(at=y,labels=y)))

print(p)

票数 4
EN

Stack Overflow用户

发布于 2012-12-16 04:27:45

另一种选择是使用latticeExtra中的layer()。它允许您使用ggplot2爱好者熟悉的+运算符将一个绘图叠加到另一个绘图上:

代码语言:javascript
复制
library(latticeExtra)

## Applied to the example data in my other answer, this will produce
## an identical plot
levelplot(Z ~ X*Y, data = grid) +
layer(panel.text(X, Y, round(Z, 1)), data = grid)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13895480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档