如何为R中的多个hexbin图定义调色板(标准化)

时间:2016-12-08 19:20:22

标签: r plot colors normalize

我想找到一种方法来设置一个调色板的特定范围,用于六边形图以规范化R中的多个图。

到目前为止,我已经尝试过:

library(hexbin)
library(gplots)  
my.colors <- function (n)
{
    (rich.colors(n))
}
plot(hexbin(lastthousand$V4, lastthousand$V5, xbnds=c(0,35), ybnds=c(0,35),), xlab="Green Pucks", ylab="Red Pucks",colramp = my.colors, colorcut = seq(0, 1, length = 25),lcex=0.66)

这导致以下情节: hexbin plot #1 我理解&#34; colourcut&#34;控制调色板的分辨率。但我发现无法控制最小/最大值

假设我有第二个情节 - &#39; hexbin plot#2&#39; - 从1(深蓝色)到100(红色)的计数。有没有办法只使用颜色1(dark-blue)-24(light-blue) [仅基于1(深蓝色)-100(红色)比例的一部分]用于hexbin plot#1?

最终目标是使用相同颜色方案的几个六边形图(基于具有最高计数的颜色的最小值和最大值)。

- 这是我在这里的第一个问题:)我是R的新手,请保持温和 //编辑:对于遇到同样问题的每个人:我的主管建议在ggplot2中使用facet。如果它解决了问题,将会看到它是如何工作的并返回另一个编辑。

// edit2:factes做了诀窍:

library(gplots)  
library(ggplot2)
p <- ggplot(data=lastthousand, aes(lastthousand$V4,lastthousand$V5))+ geom_hex()
p + facet_grid(. ~ Market) + xlab("green pucks") + ylab("red pucks") + scale_colour_gradientn(colours=rainbow(7))

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

Facets可以解决问题:

library(gplots)  
library(ggplot2)

p <- ggplot(data=lastthousand, aes(lastthousand$V4,lastthousand$V5))+ geom_hex()
p + facet_grid(. ~ Market) + xlab("green pucks") + ylab("red pucks") + scale_colour_gradientn(colours=rainbow(7))