r - xyplot时间序列,其中绿色为正值,红色为负值,以R为单位

标签 r plot lattice

对于下面的(简化的)时间序列图,是否有一种巧妙的方法使用lattice::xyplot将红色的负值着色为绿色,而将绿色的负值着色为绿色?

set.seed(0)
xyplot(zoo(cumsum(rnorm(100))), grid=T)

enter image description here

最佳答案

格子基于grid,因此您可以使用网格的裁剪功能

library(lattice)
library(grid)

set.seed(0)
x <- zoo(cumsum(rnorm(100)))

xyplot(x, grid=TRUE, panel = function(x, y, ...){
       panel.xyplot(x, y, col="red", ...) 
       grid.clip(y=unit(0,"native"),just=c("bottom"))
       panel.xyplot(x, y, col="green", ...) })

lattice with clipping

关于r - xyplot时间序列,其中绿色为正值,红色为负值,以R为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805016/

相关文章:

r - 我如何在我的 blogdown 站点的主页上发布一些介绍性段落?

python - 使用子图时颜色条定位错误(matplotlib)

Matlab: `mesh()` 网格数较少的图

r - 交叉验证 CART 模型

r - 使用 readr::parse_double() 解析双分组数

python - 六边形联合图的 Seaborn 成对矩阵

R - 从数据帧创建散点图

r - 如何更改点阵中的点大小?

r - 带误差条的点图,两个系列,轻微抖动

r - 查找多列具有相同值的行