Hi,
I am trying to convert my contour plot axes from degree to radian. Please suggest how do I do it? Particularly how do I change colorbar axes label from (0, 360) to (0, 2*pi) format.

 採用された回答

ProblemSolver
ProblemSolver 2023 年 8 月 18 日

0 投票

xticks = [0 pi/2 pi 3*pi/2 2*pi];
xticklabels = {'0','π/2','π','3π/2','2π'};
set(gca,'XTick',xticks,'XTickLabel',xticklabels)
yticks = [0 pi/2 pi 3*pi/2 2*pi];
yticklabels = {'0','π/2','π','3π/2','2π'};
set(gca,'YTick',yticks,'YTickLabel',yticklabels)
c = colorbar;
c.Ticks = [0 pi/2 pi 3*pi/2 2*pi];
c.TickLabels = {'0','π/2','π','3π/2','2π'};

2 件のコメント

Ban
Ban 2023 年 8 月 18 日
Does not work.
ProblemSolver
ProblemSolver 2023 年 8 月 18 日
Because its not the whole code. I have given you just the places that you need understand and add in your current program.

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

その他の回答 (1 件)

Voss
Voss 2023 年 8 月 18 日

0 投票

You need to scale the contour color data from (0,360) to (0,2*pi), i.e., convert from degrees to radians.
First, I make a contour of data in degrees spanning 0 to 360 (more or less):
% some random data
x = 1:10;
y = 1:20;
c = 360*rand(numel(y),numel(x));
figure
contour(x,y,c)
colorbar
clim([0 360]) % color-limits in degrees
Now, to make the colorbar in radians, simply convert the color data itself using deg2rad, and plot it as before:
c = deg2rad(c);
figure
contour(x,y,c)
colorbar;
clim([0 2*pi]) % color-limits in radians

カテゴリ

タグ

質問済み:

Ban
2023 年 8 月 18 日

コメント済み:

2023 年 8 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by