Contour Plot when both x & y axis are in logscale
Show older comments
Can anyone help me to contour plot when both x & y axis are in logscale? Please see the figure.

I have coded like below but it didn't show logscale in both axis:
f=logspace(-3,0,100);
R0=logspace(-6,-2,100);
[X,Y]=meshgrid(f,R0);
%%%Main code body
....
.....
.....
Z=1+(gamma/(k*d^2))*(f.^2*delL+delR+2*R0.*X.*Gamma_func);
%%%%%%%
contour(X,Y,Z)
Answers (2)
x = linspace(0,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
% Plot using contour
figure;
contour(X,Y,Z);
% Use the 'set' command to graph in log scale
set(gca, 'XScale', 'log');
set(gca, 'YScale', 'log');
axis tight; % Adjust the axis limits
xlabel('X');
ylabel('Y');
1 Comment
AD
on 31 Jul 2023
What should we do to set scale to millimeters?
[x, y, z] = peaks;
x = x+4; y = y+4; z=z+8; % make it positive
figure
contourf(x, y, z);
colorbar
xlabel('x'); ylabel('y');
figure
%contour(log10(x), log10(y), z);
contourf(log10(x), log10(y), log10(z));
h2 = colorbar;
zt = h2.Ticks;
h2.TickLabels = "10^{"+string(zt')+"}";
% customize ticklabels
xt = xticks;
xticklabels("10^{"+string(xt')+"}");
yt = yticks;
yticklabels("10^{"+string(yt')+"}");
xlabel('x'); ylabel('y');
4 Comments
Md Jahid Hasan Sagor
on 19 Aug 2022
Md Jahid Hasan Sagor
on 19 Aug 2022
Chunru
on 19 Aug 2022
What do you mean? They are indeed in log scale.
Categories
Find more on Contour Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

