для другого варианта, хотя я считаю, что предполагается, что у вас есть значения плотности в руке.

ользую geom_tile ggplot, чтобы сделать 2-D графики плотности, ограненные фактором. Масштаб каждого фасета идет от минимума всех данных до максимума всех данных, но geom_tile в каждом фасете распространяется только на диапазон отображаемых данных.в этом аспекте.

Пример кода, который демонстрирует проблему:

library(ggplot2)

data.unlimited <- data.frame(x=rnorm(500), y=rnorm(500))
data.limited <- subset(data.frame(x=rnorm(500), y=rnorm(500)), x<1 & y<1 & x>-1 & y>-1)

mydata <- rbind(data.frame(groupvar="unlimited", data.unlimited),
                data.frame(groupvar="limited", data.limited))

ggplot(mydata) +
  aes(x=x,y=y) +
  stat_density2d(geom="tile", aes(fill = ..density..), contour = FALSE) +
  facet_wrap(~ groupvar)

Запустите код, и вы увидите две грани. Один аспект показывает график плотности «неограниченного» случайного нормального распределения. Второй аспект показывает случайную нормальную усеченную форму, лежащую в квадрате 2x2 относительно начала координат. Geom_tile в «ограниченном» фасете будет заключен в эту маленькую рамку вместо заполнения фасета.

last_plot() +
  scale_x_continuous(limits=c(-5,5)) + 
  scale_y_continuous(limits=c(-5,5))

Эти последние три строки отображают одни и те же данные с заданными пределами x и y, и мы видим, что в этом случае ни один из аспектов не расширяет секции листов до края.

Есть ли способ заставить geom_tile в каждом фасете распространяться на весь диапазон фасета?

Ответы на вопрос(1)

Ваш ответ на вопрос