No, it doesn't work. I'm using this method for the 3D plot: https://scicomp.stackexchange.com/questions/26739/plot-2d-piecewise-constant-in-matlab-in-a-finite-elements-mesh
Same aspect ratio for the z-axis in a surface plot
조회 수: 18 (최근 30일)
이전 댓글 표시
I have a surface plot
and the x-axis and y-axis have the same ratio. I wish for the z-axis to have the same ratio. I have used
daspect ([1 1 1])
but it turns into a 2D plot.
I have used this code for the same aspect ratio for the x-axis and y-axis.
h=get(gca,'DataAspectRatio');
if h(3)==1
set(gca,'DataAspectRatio',[1 1 1/max(h(1:2))])
else
set(gca,'DataAspectRatio',[1 1 h(3)])
end
댓글 수: 3
Mathieu NOE
2023년 6월 9일
maybe you get a 2D plot because the range of your z axis is 1000 times smaller than the range of x, y axes
채택된 답변
Simon Chan
2023년 6월 10일
As mentioned by Mathieu NOE in the comment section, your z-axis data is 1000 times smaller than the range of x and y-axes data. Hence the ratio between them should be rescale accordingly.
Check whether this is what you want or not.
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surface(X/5+1,Y/3.5,Z*1e-3) % Just make sure the range of the demo data is close to your data
view(3)
daspect ([1 1 1e-3]);
댓글 수: 10
Simon Chan
2023년 6월 10일
Glad to see you come up with a new idea. Just curious your data along z-axis is also in time unit?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!