How to create contour plot to show height?

4 ビュー (過去 30 日間)
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2022 年 3 月 18 日
コメント済み: DGM 2022 年 3 月 21 日
I want to create a countour plot such that my x axis and y axis are the coordinates of the plane and my z axis is height. I want to creat a 2b plot (contour) such that my height is differentiated with color. My z value has no relation with xy value other that the first value of z is corresponding to the cobination of first two values of x and y.
For example my x, y and z vectors are:
AAA=1:1:1000;
BBB=1:1:1000;
CCC=2:2:2000;
  3 件のコメント
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2022 年 3 月 18 日
The correlation is that for each pair of x and y there is a corresponding value of z but the limitataion is that we only have one to one correspondance i.e., 1st value of x and first value of y corresponds to first value of z but first value of x and 2nd value of y corresponds to nothing.
DGM
DGM 2022 年 3 月 18 日
Okay, yeah. That's just scattered data. Walter's suggestion looks pretty good.

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

採用された回答

DGM
DGM 2022 年 3 月 19 日
You can always try just using griddata()
S = load('scattered.mat'); % load scattered data
n = 100;
x = linspace(min(S.x),max(S.x),n);
y = linspace(min(S.y),max(S.y),n);
[xg yg] = meshgrid(x,y); % create new grid
zg = griddata(S.x,S.y,S.z,xg,yg); % interpolate scattered data to grid
contour(xg,yg,zg) % now you can use contour(), contourf(), surf(), etc
  8 件のコメント
Sam Chak
Sam Chak 2022 年 3 月 21 日
Hi @DGM
His data of the position of the road (in Spherical coordinate system) was posted here in the first comment of the first answer (by @KSSV).
DGM
DGM 2022 年 3 月 21 日
Oh. Well it doesn't make much sense spending time and confusion here then. Thanks for the heads up.

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 3 月 18 日
  2 件のコメント
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2022 年 3 月 18 日
編集済み: Walter Roberson 2022 年 3 月 19 日
Hi Walter,
Error using tricontour (line 58)
Incorrect input dimensions
Error in runMatlogOSM_2nodes (line 25)
tricontour(A,B,C,1)
Eventhough I have downloaded the function and the path as
addpath(genpath('./tricontour'), '-end');
My Command line is
tricontour(A,B,C,1)
Walter Roberson
Walter Roberson 2022 年 3 月 19 日
The first parameter to tricontour() needs to be the xy coordinates, each row being an x y pair.
The second parameter to tricontour() needs to be the triangular connectivity data.
You might want to use https://www.mathworks.com/help/matlab/ref/delaunaytriangulation.html and extract the Points and ConnectivityList properties of the result.

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

カテゴリ

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

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by