Plotting 2D XY values as a 3D radial contour plot
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
I want to plot XY values, where X represents the values accross a radius (0 is the center of the distrbution) and Y represents the colors of a heatmap (like a Gaussian distribution). I want it to look like the image attached. Can anyone please tell me how to do this? Thanks!
採用された回答
Mathieu NOE
2022 年 1 月 11 日
hello
my 2 cents suggestion
clc
clearvars
data = importdata('data.txt');
x = data.data(:,1);
n = 200;
r = linspace(min(x),max(x),n);
z = data.data(:,2);
zz = interp1(x,z,r);
figure, hold on
axis square
for ci = 1:200
theta = rand(n,1)*2*pi;
XX = r'.*cos(theta);
YY = r'.*sin(theta);
scatter(XX,YY,5,log10(zz),'filled')
end
% Color maps.
% parula - Blue-green-orange-yellow color map
% hsv - Hue-saturation-value color map.
% hot - Black-red-yellow-white color map.
% gray - Linear gray-scale color map.
% bone - Gray-scale with tinge of blue color map.
% copper - Linear copper-tone color map.
% pink - Pastel shades of pink color map.
% white - All white color map.
% flag - Alternating red, white, blue, and black color map.
% lines - Color map with the line colors.
% colorcube - Enhanced color-cube color map.
% vga - Windows colormap for 16 colors.
% jet - Variant of HSV.
% prism - Prism color map.
% cool - Shades of cyan and magenta color map.
% autumn - Shades of red and yellow color map.
% spring - Shades of magenta and yellow color map.
% winter - Shades of blue and green color map.
% summer - Shades of green and yellow color map.
colormap('autumn');
7 件のコメント
Aero Descerazes
2022 年 1 月 11 日
編集済み: Aero Descerazes
2022 年 1 月 13 日
@Mathieu NOE Thank you very much for your response!
I have two questions:
- The colorbar doesn't seem to be accurate. At the center (x=0), the y-value is 197 and the lowest y-value is 5. But the colorbar seems to be on a different scale. Is there a way to fix this?
- I realized you used a scatterplot but the points seem to be scattered leaving white spaces in between. Is there a way to smoothen it in the periphery (like the center)?
Thanks again!
Mathieu NOE
2022 年 1 月 12 日
編集済み: Mathieu NOE
2022 年 1 月 12 日
hello again
1/ this is due to the fact that I wanted the center peak to be flatten , so I decided to plot the log10 of the data
scatter(XX,YY,5,log10(zz),'filled')
remove the log10 and the colorbar range will be according to your input data
scatter(XX,YY,5,zz,'filled')
2/ I supposed from the picture example that the result should be a scatter plot, with dots a bit random distributed inside the circle ; otherwise we can do a "continuous" surface plot (with surf)
what is your preference ?
here an alternative with surf
my "r" correspond to the first column of your data
my "z" correspond to the second column of your data
clc
clearvars
data = importdata('data.txt');
r = data.data(:,1);
z = data.data(:,2);
figure(1),
n = 50;
for ci = 1:n
theta = (ci-1)/(n-1)*2*pi;
XX(:,ci) = r'.*cos(theta);
YY(:,ci) = r'.*sin(theta);
zz(:,ci) = z;
end
s = surf(XX,YY,zz);
view(2);
% view(2) sets the default 2-D view, AZ = 0, EL = 90.
% view(3) sets the default 3-D view, AZ = -37.5, EL = 30.
s.EdgeColor = 'none'; % hide the edges by setting the EdgeColor property.
axis square
% Color maps.
% parula - Blue-green-orange-yellow color map
% hsv - Hue-saturation-value color map.
% hot - Black-red-yellow-white color map.
% gray - Linear gray-scale color map.
% bone - Gray-scale with tinge of blue color map.
% copper - Linear copper-tone color map.
% pink - Pastel shades of pink color map.
% white - All white color map.
% flag - Alternating red, white, blue, and black color map.
% lines - Color map with the line colors.
% colorcube - Enhanced color-cube color map.
% vga - Windows colormap for 16 colors.
% jet - Variant of HSV.
% prism - Prism color map.
% cool - Shades of cyan and magenta color map.
% autumn - Shades of red and yellow color map.
% spring - Shades of magenta and yellow color map.
% winter - Shades of blue and green color map.
% summer - Shades of green and yellow color map.
colormap('autumn');
colorbar('vert');
Aero Descerazes
2022 年 1 月 13 日
編集済み: Aero Descerazes
2022 年 1 月 13 日
Just need your help in one last thing - when I try to plot a different data, the plot is not as smooth (see below). I tried using interp2 to smoothen the surf but it is giving me an error. "Input grid is not a valid MESHGRID."
How do I overcome this? Thanks again.
Hello
if your data lack a bit of resolution, you can do some interpolation at the evry beginning (added this in the code below)
clc
clearvars
data = importdata('data.txt');
x = data.data(:,1);
% resample the data (interpolation) for a better resolution
r = linspace(min(x),max(x),100);
z = data.data(:,2);
z = interp1(x,z,r);
figure(1),
n = 100;
for ci = 1:n
theta = (ci-1)/(n-1)*2*pi;
XX(:,ci) = r'.*cos(theta);
YY(:,ci) = r'.*sin(theta);
zz(:,ci) = z(:);
end
s = surf(XX,YY,zz);
view(2);
% view(2) sets the default 2-D view, AZ = 0, EL = 90.
% view(3) sets the default 3-D view, AZ = -37.5, EL = 30.
s.EdgeColor = 'none'; % hide the edges by setting the EdgeColor property.
axis square
% Color maps.
% parula - Blue-green-orange-yellow color map
% hsv - Hue-saturation-value color map.
% hot - Black-red-yellow-white color map.
% gray - Linear gray-scale color map.
% bone - Gray-scale with tinge of blue color map.
% copper - Linear copper-tone color map.
% pink - Pastel shades of pink color map.
% white - All white color map.
% flag - Alternating red, white, blue, and black color map.
% lines - Color map with the line colors.
% colorcube - Enhanced color-cube color map.
% vga - Windows colormap for 16 colors.
% jet - Variant of HSV.
% prism - Prism color map.
% cool - Shades of cyan and magenta color map.
% autumn - Shades of red and yellow color map.
% spring - Shades of magenta and yellow color map.
% winter - Shades of blue and green color map.
% summer - Shades of green and yellow color map.
colormap('autumn');
colorbar('vert');
Aero Descerazes
2022 年 1 月 13 日
@Mathieu NOE This is perfect! Thank you so much for your help!
Mathieu NOE
2022 年 1 月 13 日
my pleasure !
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
