简体   繁体   中英

R wireframe() wrong colorbar using lattice

I try to plot a transect using wireframe() with lattice

the colorbar is wrong

  require(marmap)
  require(lattice) 

     Bathy2 <- getNOAA.bathy(lon1 = 30, lon2 = 47,
                               lat1 = -12, lat2 = -28, resolution = 2)
#plot of the area + transect
     plot(Bathy2, image=TRUE, land = TRUE, lwd = 0.03,
             bpal = list(c(0,max(Bathy2), greys), c(min(Bathy2), 0, blues)))
     belt3 <- get.box(Bathy2, x1 = 34, x2 = 46, y1 = -20, y2 =  -20, width = 3, col = "red")

#3Dplot of the transect
       wireframe(belt3, shade = T, zoom = 1.1,
                  aspect = c(1/4, 0.1),
                  screen = list(z = -60, x = -55),
                  par.settings = list(axis.line = list(col = "white")),
                  par.box = c(col =rgb(0, 0, 0, 0.1)),
                  xlab="", colorkey = TRUE)

what I obtain is a pink colorbar 在此处输入图片说明

As explained here , with shade = TRUE :

the SAME Z-VALUE CAN HAVE DIFFERENT COLORS depending on the orientation of the facet with respect to the viewing direction and the light source. So, a colorkey DOES NOT MAKE SENSE.

So I suggest using drape = TRUE instead:

# 3Dplot of the transect
wireframe(belt3, drape = TRUE, zoom = 1.1,
          aspect = c(1/4, 0.1),
          screen = list(z = -60, x = -55),
          par.settings = list(axis.line = list(col = "white")),
          par.box = c(col =rgb(0, 0, 0, 0.1)),
          xlab="", colorkey = TRUE, lwd = 0.2)

在此处输入图片说明

You can also define your own color palette. Just check ?wireframe .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM