ggplot2 stat_densty_2 - как заполнить разные части графика разными цветами? - PullRequest
0 голосов
/ 24 апреля 2018

Если я делаю график stat_density_2d с растровой геометрией, как я могу закрасить одну часть диаграммы одним цветом, а другую часть диаграммы - другим?

Итак, для этого графика:

d <- ggplot(data, aes(xVal, yVal))
d + stat_density_2d(geom = "raster", aes(fill = ..density..), contour = FALSE) +
  scale_fill_gradient2(low = "white",
  high = "#1A6AFF", space = "Lab", limits=c(0.00000, 0.00008), guide = "colourbar") +
 geom_point() + xlim(-100,100)

Как можно заполнить градиент от белого до красного между -100 и 0, а градиент от 0 до 100 - белым или синим? Обратите внимание, что заливка основана на плотности, поэтому она будет просто разбивать диаграмму на две части, а не создавать непрерывный масштаб вдоль от -100 до 100.

1 Ответ

0 голосов
/ 25 апреля 2018

Я считаю, что то, что вы пытаетесь выполнить, описано в документации .Вот выдержка, которая использует набор данных о бриллиантах:

set.seed(4393)
dsmall <- diamonds[sample(nrow(diamonds), 1000), ]
d <- ggplot(dsmall, aes(x, y))
# If you map an aesthetic to a categorical variable, you will get a
# set of contours for each value of that variable
d + geom_density_2d(aes(colour = cut))

Это дает график: enter image description here

Если вы хотите отключить контуры дляизображение плитки, вы можете сделать это:

# If we turn contouring off, we can use use geoms like tiles:
d + stat_density_2d(geom = "raster", aes(fill = ..density..), contour = FALSE)

, что дает следующий график: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...