MATLAB: рисование поверх графика

Я строю функцию от R ^ 2 до R в MATLAB как график поверхности, которую я раскрасил и посмотрел сверху.

surf(X, Y, data);
colormap(jet);
colobar;
view(2);

Он производит (с некоторым дополнительным кодом) что-то вроде

хотя истинный характер функции (с целью понимания этого вопроса) лучше наблюдать с такой точки зрения, как:

Я хочу нарисовать круг поверх моего первоначального сюжета (вид сверху). Что-то вроде...

Однако я не могу этого достичь, так как при нанесении элементов в плоскости на графиках они появляются на оси x-y, которая покрыта моим поверхностным графиком. Например, позвонив

circle_pos = [ +1 +1; -1 -1; -1 +1; +1 -1;]
circle_rad = 0.2 * ones(4,1);
viscircles(circle_pos, circle_rad);

после того, как мой поверхностный график не дает видимых кругов, если смотреть сверху. Увеличение и вращение показывает, что эти круги были нанесены на плоскость X-Y, и поэтому невидимы сверху.

Как мне нарисовать мои кругинаверху поверхности участка, чтобы они были видны сверху? Аналогичная проблема возникает при построенииtext поверх поверхности, но исправляется путем указания значения положения z чуть выше значения z базовых функций. Кажется, нет никакого способа указать положение z этих графических элементов.

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

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