Same aspect ratio for the z-axis in a surface plot

16 ビュー (過去 30 日間)
Alexandra Roxana
Alexandra Roxana 2023 年 6 月 8 日
編集済み: Alexandra Roxana 2023 年 6 月 10 日
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
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
Alexandra Roxana
Alexandra Roxana 2023 年 6 月 10 日
@Mathieu NOE It still should be a solution for this.

サインインしてコメントする。

採用された回答

Simon Chan
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
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?
Alexandra Roxana
Alexandra Roxana 2023 年 6 月 10 日
編集済み: Alexandra Roxana 2023 年 6 月 10 日
No, it is the solution so it doesn't work. I'm thinking at how I could plot this if for instance, I would measure on a piece of paper with a ruler, this is how I would like for it to look. The grid should be very detailed. This is how a part of the solution looks like:

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by