2015-03-10 2 views
2

У меня есть 3 функции f1 = f1 (x), f2 = f2 (x) и f3 = f3 (x). Я могу построить три графика 2d на одной фигуре с помощью команды hold on, но я хотел бы построить три графика в одном трехмерном графике.3d график, смесь между баром и прибором

Я могу построить трехмерную поверхность с командой surf.

x = -3:0.1:3; 
y = [1,2,3]; 
z = [f1(x);f2(x);f3(x)]; 

surf(x,y,z) 

Поскольку переменная y не лежит в диапазоне, но имеет дискретные значения, этот график не имеет смысла.

Было бы лучше 3d-график, как и предыдущий, для переменной x и что-то вроде гистограммы для переменной y. Возможно ли построить такой «смешанный» граф?

Чтобы лучше объяснить, что я хотел бы получить, я добавляю этот граф нашел с помощью Google

enter image description here

+0

Разве вы не можете сделать с 'bar3'? Это дает плоские вершины, но кроме этого это более или менее то, что вы хотите, не так ли? –

+1

Или, может быть, «лента», если вам нужен только (изогнутый) топ –

+0

@ LuisMendo с плоскими вершинами бара3 Я теряю слишком много, но лента отлично! Большое спасибо! Если вы хотите написать это как ответ, я соглашусь! – 888

ответ

4

ribbon функция делает то, что вы хотите, за исключением того, что он показывает только верхнюю часть:

>> ribbon(peaks(15)) %// using the `peaks` function as an example 

enter image description here

+1

Очень приятно. Я смотрел на что-то вроде «водопада» (http://www.mathworks.com/help/matlab/ref/waterfall.html), пытаясь ответить на этот вопрос, но я не мог заставить его выглядеть как OP сюжет. Приятная функция этой «ленты»! – rayryeng

+0

@rayryeng Спасибо! Я тоже начал с «водопада», но почему-то вспомнил о «ленте» (которая имеет приятное имя BTW!) –

Смежные вопросы