creating a more continuous color palette in r, ggplot2, lattice, or latticeExtra

后端 未结 3 655
野的像风
野的像风 2020-12-17 00:02

Warning.... very novice question follows:

I am trying to plot a fairly regular distribution of several thousand (X,Y) points each associated with a value, let\'s cal

3条回答
  •  鱼传尺愫
    2020-12-17 00:36

    As far as lattice is concerned, you can set up your colors palette with RColorBrewer (or even colorspace). Using the example provided by @Chase, but with positive value for z:

    dat <- data.frame(x = rnorm(1000), y = rnorm(1000), z = sample(0:40, 1000, TRUE))
    library(RColorBrewer)
    # see, e.g.
    # display.brewer.all(9, type="seq")
    # display.brewer.pal(11, "RdBu")
    my.col <- colorRampPalette(brewer.pal(11, "RdBu"))(diff(range(dat$z)))
    xyplot(y ~ x, data=dat, col=my.col[dat$z], pch=19, alpha=.5)
    

    Note that it is also necessary here to increase the range of available colors by interpolation. Also, with levelplot(), you might want to play with cut= and pretty=.

    enter image description here

提交回复
热议问题