R: как построить контурные линии для представления распределения плотности в матрице?

Я хочу построить контурный график из двух матриц: мат1 и мат2. Вот начало мат1:

[1] 0.031445000 0.031998580 0.037815850 0.050032810 0.066761480 0.074132810 0.075448150 0.079179210 0.085722410 0.103220600 0.131116300 0.177236000
[14] 0.194627400 0.236644700

а вот начало мат2:

[1] 0.000000e+00 0.000000e+00 1.184210e-05 2.968287e-05 3.843773e-05 6.345658e-05 9.110675e-05 9.749519e-05 1.064792e-04 1.849712e-04 2.306780e-04
[11] 2.638524e-04 2.700246e-04 4.042935e-04 4.639618e-04 5.564263e-04 6.211335e-04 6.377825e-04 6.447199e-04 6.522688e-04 6.623886e-04 6.754198e-04

Мой код:

x2=seq(mat1)
y2=seq(mat2)
z = outer(mat1, mat2)
filled.contour(x2, y2, z)

Но я получаю график, отображающий значения, которые полностью отличаются от тех, что есть в моих матрицах. Он также использует цвета, чтобы показать плотность. Но я хочу, чтобы контурные ЛИНИИ представляли плотность. Какую функцию следует использовать?

Я также пытался сделать:

filled.contour(mat1, mat2)

Сообщение об ошибке, которое я получаю:

Error in contour.default(x1, y1) : increasing 'x' and 'y' values expected

что не имеет смысла, потому что значения в матрицах уже увеличиваются.


person zfz    schedule 21.06.2013    source источник
comment
К сожалению, это была ошибка по невнимательности. Я только что исправил это, так что все согласовано. все еще та же проблема.   -  person zfz    schedule 21.06.2013
comment
ты пробовал contour?   -  person Matthew Plourde    schedule 21.06.2013
comment
Да, это дает мне тот же сюжет, что неправильно. Если я просто использую: contour(mat1, mat2), сообщение об ошибке: Error in contour.default(x1, y1) : increasing 'x' and 'y' values expected, что странно, потому что мои значения уже увеличиваются в матрицах.   -  person zfz    schedule 21.06.2013
comment
Почему ваши векторы mat1 и mat2 не имеют одинаковой длины?   -  person Matthew Plourde    schedule 21.06.2013
comment
они есть, я просто выбираю начало двух матриц, чтобы показать здесь. но да, они на самом деле одинаковой длины.   -  person zfz    schedule 21.06.2013
comment
Дубликат Как создать контурный график в R из матрицы   -  person zx8754    schedule 21.06.2013
comment
Что вы хотите представлять? mat1 и mat2, как вы показали, являются векторами, а не матрицей, поэтому такое представление не имеет большого смысла для векторов. Кроме того, z является внешним произведением этих двух векторов (следовательно, матрицей), так что на самом деле он не имеет тех же значений, что и mat1 и mat2, но каждая ячейка является произведением значений из mat1 и mat2. Наконец, если вам нужны контурные линии, а не тепловая карта, вам действительно следует использовать функцию contour, как предложил @MatthewPlourde.   -  person plannapus    schedule 25.06.2013