Градиентные перерывы в графике 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))
Любые подсказки?
Ответы
Ответ 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]()