Contour Plot when both x & y axis are in logscale
53 ビュー (過去 30 日間)
古いコメントを表示
Can anyone help me to contour plot when both x & y axis are in logscale? Please see the figure.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1101730/image.png)
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)
0 件のコメント
回答 (2 件)
Alexis Carranza Hidalgo
2023 年 7 月 27 日
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');
Chunru
2022 年 8 月 19 日
編集済み: Chunru
2022 年 8 月 19 日
[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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Contour Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!