Подтвердить что ты не робот

Градиентные перерывы в графике statg_gin2d ggplot

У меня есть 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))

Это дает:

enter image description here

Этот график имеет только 3 разрыва при c(5,10,15), несмотря на мою бесполезную попытку поставить перерывы на c(1,2,3,4,5,6))

Любые подсказки?

4b9b3361

Ответ 1

вот пример, объединяющий 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")

Поскольку существует множество способов сделать произвольные разрывы, если вы четко определяете, что хотите, вероятно, вы сможете получить лучший ответ.

enter image description here

Ответ 2

Мне кажется, вы, вероятно, хотите, чтобы меньше говорили о двоюродной сестре scale_colour_gradient2(), scale_fill_gradient2()

Использование ваших данных:

p + scale_fill_gradient2(breaks=c(1,2,3,4,5,6))

Также обратите внимание на дополнительные параметры low, mid и high для дополнительных элементов управления.

enter image description here