Градиентные разрывы на графике ggplot stat_bin2d
У меня есть 2D гистограмма, созданная с stat_bin2d
в ggplot2
пакет. Я хотел бы контролировать количество разрывов в цветовом градиенте, а также их расположение. Я уверен, что просто упускаю из виду что-то маленькое, но я не могу понять, как контролировать разрывы в биннинге.
Пример:
x <- rnorm(100)^2
y <- rnorm(100)^2
df <- data.frame(x,y)
require(ggplot2)
p <- ggplot(df, aes(x, y))
p <- p + stat_bin2d(bins = 20)
p + scale_colour_gradient2(breaks=c(1,2,3,4,5,6))
Это производит:
Этот участок имеет только 3 перерыва в c(5,10,15)
несмотря на мою тщетную попытку сделать перерыв в c(1,2,3,4,5,6))
Есть намеки?
2 ответа
Вот пример объединения cut
а также bin2d
:
p <- ggplot(df, aes(x, y, fill=cut(..count.., c(0,6,8,9,Inf))))
p <- p + stat_bin2d(bins = 20)
p + scale_fill_hue("count")
Поскольку существует много способов сделать перерывы произвольными, если вы четко определите, что вы хотите, возможно, вы сможете получить лучший ответ.
Я думаю, что вы, вероятно, хотите меньше говорить о двоюродном брате scale_colour_gradient2()
, scale_fill_gradient2()
Используя ваши данные:
p + scale_fill_gradient2(breaks=c(1,2,3,4,5,6))
Также обратите внимание на дополнительные параметры low
, mid
, а также high
для дополнительного контроля.