(Извините, если мой английский не идеален... :-s)
Мой вопрос почти такой же, как и в этой теме: Создание заполненного контурный график с использованием данных в списках
Но разница в том, что я хотел бы отображать плотность, соответствующую моим координатам (x, y), только в одном направлении! Я объясняю: у меня есть такой data.frame:
X <- matrix(c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3), nrow=4)
Y <- matrix(c(-1.0190, -0.9617, -0.9044, -0.8470, -1.0617, -0.9641, -0.8664, -0.7688, 0.4623, 0.6012, 0.7401, 0.8790), nrow=4)
Z <- matrix(c(3.9216, 3.9216, 3.9216, 11.7647, 1.9608, 1.9608, 1.9608, 11.7647, 1.9608, 1.9608, 9.8039, 9.8039), nrow=4)
Niveau <- data.frame(X=c(X),Y=c(Y),Z=c(Z))
X представляет координаты x, Y координаты y и Z плотность в процентах только в направлении Y. Для каждой координаты x я рассчитал плотность в направлении Y. И результат в векторе Z. Вы можете видеть, что это не обычная сетка в (x, y). И я хотел бы построить «контурный график» плотности Z, но пока мне это не удалось... Я попробовал эту команду:
ggplot(Niveau, aes(x=X, y=Y, z=Z)) + geom_density2d()
Но он отображает плотность в направлении x AND y, а я хочу только в направлении Y. Когда я попробовал команду:
filled.contour(t(Z), nlevels=10)
Он не учитывает координаты (x, y). И невозможно реализовать:
filled.contour(X,Y,Z, nlevels=10)
После некоторых исследований я нахожу эту тему, и моя проблема такая же: Как нарисовать контурную диаграмму, если данные расположены не на регулярной сетке?
Но ответ не соответствует: решение представляет собой «регулярную сетку» в (x, y), а это не то, что у меня есть! Кто-нибудь может помочь?
Спасибо !