scatter polar plot interpolation

7 ビュー (過去 30 日間)
tony74
tony74 2019 年 2 月 6 日
コメント済み: yaopeng 2020 年 12 月 23 日
How can I produce a scatter plot in polar coordinates in Matlab? I need to have a scatter plot (r,theta,Z) where Z values are represented with a colorbar.
The result which I would like to obtain is the same of polarPlot function in R (openair package). In the image you can see an example of graph obtained
with R.
R_WDS_NO3_emission.png
In Matlab I tried with ScatterWindRose (from File Exchange) function, but it is not exactly what I want. I need a kind of surface interpolation of the dots.
screenshot scatter plot.jpg
Can you help me?
  1 件のコメント
yaopeng
yaopeng 2020 年 12 月 23 日
I have the same question

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

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 2 月 6 日
Have a look at the help for TriScatteredInterp, griddata those functions should help you interpolate between your measurement points, then you might have use for this file exchange contribution: Polar pcolor
HTH
  4 件のコメント
tony74
tony74 2019 年 2 月 12 日
Sorry, but I having errors, yet.
This is the code used, following your suggestions:
theta_i = linspace(0,2*pi,361);
mediau_i = linspace(0,1,length(mediau));
[mediau_i,theta_i] = meshgrid(mediau_i,theta_i);
mediaA_F1 = scatteredInterpolant(mediau,tetanord,media_a1);
mediaA_F2 = scatteredInterpolant(mediau.*cos(tetanord),...
mediau.*sin(tetanord),...
media_a1);
media_Ai1 = mediaA_F1(mediau_i,theta_i);
media_Ai2 = mediaA_F2(mediau_i.*cos(theta_i),mediau_i.*sin(theta_i));
[h,c]=polarPcolor(mediau(:,1),tetanord(:,1)'*180/pi,media_Ai1);
and this is the error message:
Size of Z is : [361 42384]
Size of R is : [42384 1]
Size of theta is : [1 42384]
Error using polarPcolor (line 80)
dimension of Z does not agree with dimension of R and Theta
Bjorn Gustavsson
Bjorn Gustavsson 2019 年 2 月 12 日
Try to find out why! Step 1, go trhough all possible permutations of Z R and theta.
Step 2: type "dbstop if error" on the command-line prompt, run the polarPcolor again - and you'll get a debug-prompt in the function where the error occurred, then you have command-line access to all variables in that workspace - as well as the possibility to jump further up (and down) the function-call-stack by "dbup" (and dbdown).
HTH

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePolar Plots についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by