Изменение вида фигуры в matlab

есть ли способ использовать surf() формат данных стиля для создания тепловой карты?

у меня есть куча разрозненных данных в форме z=f(x,y) (поэтому я использую TriScatteredInterp чтобы заставить его работать с meshgrid) и я хотел бы визуализировать z С тепловой карты. surf уже делает что-то похожее на то, что я хочу, за исключением того, что вам нужно вручную повернуть график, чтобы вид сверху вниз смотрел на плоскость XY.

в принципе, я хотел бы что-то похожее на это: Heat maps

но surf дает вам это по умолчанию: enter image description here

3 ответов


хотя ответы здесь уже показывают, как это сделать с surf, рендеринг 3D-поверхности немного напоминает перебор...

pcolor создает необходимые картинки непосредственно

(С несколько лучшими результатами-surf имеет зазор рядом с осями)

код

figure(1)
pcolor(peaks)

figure(2)
surf(peaks)
view(2)

результаты


pcolor pcolor Result


surf surf Result


добавление к ответу Бена, вы можете использовать


Поверните вид на то, что вы хотите. Затем введите campos в терминале. Это показывает положение камеры. Затем вы можете использовать campos( your_desired ) установить положение камеры для будущих участков.

например,x, y посмотреть обычно:

campos([4.0000    2.5000   86.6025])