Какое требуется заклинание для достижения перекрытия, ограненного lattice::histogram
с общими точками разрыва (для разных групп, но потенциально различного для разных панелей)?
Например, предположим, что мне нужен полный диапазон данных (группы объединены) для каждой панели, которая будет разделена на 30 ячеек.
Пример данных:
library(lattice)
set.seed(1)
d <- data.frame(v1=rep(c('A', 'B'), each=1000),
v2=rep(c(0.5, 1), each=2000),
mean=rep(c(0, 10, 2, 12), each=1000))
d$x <- rnorm(nrow(d), d$mean, d$v2)
Использование nint=30
?
p1 <- histogram(~x|v1, d, groups=v2, nint=30,
scales=list(relation='free'), type='percent',
panel = function(...) {
panel.superpose(..., panel.groups=panel.histogram,
col=c('red', 'blue'), alpha=0.3)
})
p1
Выше, ячейки одинаковы для разных групп, но (1) пределы оси x являются общими для всех панелей (проблематично c, когда диапазон оси x существенно различается для разных панелей - я действительно хочу, чтобы 30 корзин были рассчитаны индивидуально для каждой панели), и (2) ось Y ограничена при использовании type='percent'
(она должна расширяться дальше).
При использовании breaks=30
?
p2 <- histogram(~x|v1, d, groups=v2, breaks=30,
scales=list(relation='free'), type='percent',
panel = function(...) {
panel.superpose(..., panel.groups=panel.histogram,
col=c('red', 'blue'), alpha=0.3)
})
p2
Теперь границы осей выглядят хорошо, но ширина ячеек варьируется в зависимости от группы.
Итак ...
Используя lattice
, как я могу добиться перекрытия, граненый гистограммы, которые имеют постоянную ширину бина между группами внутри панелей, но имеют ограничения по осям, которые соответствуют данным для каждой панели?
(я понимаю, что ggplot - это вариант, но я хочу, чтобы стиль рисунка соответствовал моему другому решетчатые участки.)