R:在水平图中显示由分组变量分层的值

埃尼玛

在下面的示例中,我需要显示按分组变量分层的每个面板中每个单元格的值class

library("lattice")
x <- seq(pi/4, 5*pi, length.out=5)
y <- seq(pi/4, 5*pi, length.out=5)
r1 <- as.vector(sqrt(outer(x^2, y^2, "+")))
r2 <- as.vector(sqrt(outer(x^2, y^2, "/")))

grid1 <- grid2 <- expand.grid(x=x, y=y)
grid1$z <- cos(r1^2)*exp(-r1/(pi^3))
grid2$z <- cos(r2^2)*exp(-r2/(pi^3))
grid <- rbind(grid1, grid2)
grid$class <- c(rep("addition",length(x)^2), rep("division", length(x)^2))

p <- levelplot(z~x*y | factor(class), grid, 
               panel=function(...) {
                 arg <- list(...)
                 panel.levelplot(...)
                 panel.text(arg$x, arg$y, round(arg$z,1))})
print(p)

但是,单元格值相互叠加,因为面板选项无法区分两组。如何获得在每个组中正确显示的值?在此处输入图片说明

乔什·奥布莱恩

在幕后,使用一个称为参数的subscripts子集来在不同面板中显示数据。通常,它不需要您意识到这一点,但这不是这些情况之一。

通过查看的源代码,可以panel.levelplot看出它是独立处理subscripts的。args(panel.levelplot)表示它在函数的形式参数中,而函数的主体说明了如何使用它们。

panel.text(),(实际上只是的包装lattice:::ltext.default()),对却一无所知subscriptspanel.text(x,y,z)x,,y的调用中z看到的是data.frame的完整列grid,这就是为什么您看到所做的过度绘图的原因。

要为当前面板一部分的值绘制文本,您需要显式使用subscripts参数,如下所示:

myPanel <- function(x, y, z, ..., subscripts=subscripts) {
    panel.levelplot(x=x, y=y, z=z, ..., subscripts=subscripts)        
    panel.text(x = x[subscripts], 
               y = y[subscripts], 
               labels = round(z[subscripts], 1))
}
p <- levelplot(z~x*y | factor(class), grid, panel = myPanel)
print(p)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

r数据表中的排名值由另一个变量分组

来自分类Dev

分组显示最大值的指标变量

来自分类Dev

如何在水平堆叠条形图中显示条形值

来自分类Dev

如何在R图中仅显示特定轴值的一条水平线-ggplot2

来自分类Dev

以因子水平显示R散点图中的观察次数

来自分类Dev

R:按分组变量划分的唯一ID的分层随机样本比例

来自分类Dev

在R中,有一种方法可以在维恩图中显示分层聚类

来自分类Dev

在R中的分组箱图中显示中位数

来自分类Dev

用R将条形图中的多个列值分组

来自分类Dev

如何基于变量名称自动对变量进行分层分组

来自分类Dev

创建由R中的两个分组变量分组的数据集的多面板图

来自分类Dev

在线性模型的摘要图中,如何用分组变量而不是索引值标记离群值?

来自分类Dev

在 R 条形图中仅显示一个变量

来自分类Dev

r:查找变量中各个因素的水平值

来自分类Dev

如何使用R轴上的频率以外的变量在R中的直方图中分组的bin?

来自分类Dev

R:NA值由is.numeric()计算为TRUE的变量

来自分类Dev

R:在图中分组数据

来自分类Dev

在R中的箱图中以斜体标签显示字符向量的值

来自分类Dev

如何在R中的绘图中显示INF值?

来自分类Dev

如何在水平滚动视图中显示

来自分类Dev

r-整形表,由3个变量分组(2行)

来自分类Dev

R-频率分布的中位数,由另一个变量分组

来自分类Dev

分组多个变量-R

来自分类Dev

在水平图中指定NA栅格值的颜色(R包rasterVis)

来自分类Dev

在MatLab图中显示标记值

来自分类Dev

在饼图中显示子值

来自分类Dev

LINQ数据分组/分层

来自分类Dev

调整R水平图中的刻度数

来自分类Dev

在 R 中更改绘图中的水平轴

Related 相关文章

热门标签

归档