Change colorbar axis values

11 Ansichten (letzte 30 Tage)
Ban
Ban am 18 Aug. 2023
Kommentiert: ProblemSolver am 18 Aug. 2023
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.

Akzeptierte Antwort

ProblemSolver
ProblemSolver am 18 Aug. 2023
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 Kommentare
Ban
Ban am 18 Aug. 2023
Does not work.
ProblemSolver
ProblemSolver am 18 Aug. 2023
Because its not the whole code. I have given you just the places that you need understand and add in your current program.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Voss
Voss am 18 Aug. 2023
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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by