2013-05-01 5 views
0

Я знаю, что этот вопрос задан раньше, но никто из них не имеет дело с трехмерным графиком с осью 2 Y. Мой вопрос является продолжением - How do I add a 2D Plot along with a surface or mesh plot in MATLAB? или this.Как добавить 2 оси Y к моему сайту MATLAB?

Теперь мне удалось добавить 2D-график вместе с поверхностным графиком. См. Изображение ниже - 2D + 3D Plot Теперь моя проблема в том, что диапазон 2D-графика настолько высок, что 3D-график сокращается, чтобы выглядеть не что иное, как плоскость на потолке. Предполагается, что в вопросе, который я выложил выше, должны иметь такие вариации, как фигура.

Как предоставить другую ось Y для 2D-графика, чтобы 3D-график не был сжат, как здесь.

+0

Есть ли причина не просто умножать значение поверхности на некоторую большую константу? – chthonicdaemon

+0

Значения оси не имеют смысла. –

+0

Почему вы просто не нормализуете свои данные, поэтому можно использовать одну и ту же ось? – bla

ответ

0

Возможно, вы можете использовать свойство DataAspectRatio для выполнения этого. Принимая вдохновение из примера из предыдущего поста, если мы имеем:

z=peaks(100); 
x1=linspace(0,100); 
plot3(x1,0*ones(1,numel(x1)),40*sin(x1)) 
surface(z+40, 'edgecolor', 'none'); 

, а затем вы можете использовать

set(gca, 'dataaspectratio', [1.25 1.25 .7]) 
view([-37.5 18]) 

может работать в некоторых случаях, чтобы помочь восстановить некоторые из диапазона на поверхности участка. Однако этот метод не будет работать в очень экстремальных случаях.

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