How to plot log-scale with number ?

31 ビュー (過去 30 日間)

採用された回答

Tommy
Tommy 2020 年 6 月 8 日
Maybe something like this?
% data:
X = 2*logspace(1, 3, 100);
Y = rand(100,1);
% labels to keep:
labels = [20 30 50 70 100 200 300 500 1000 2000];
% prepare axes, plot:
ax = axes('XScale', 'log', 'NextPlot', 'add');
plot(ax, X, Y, '.')
ax.XLim = [20 2000];
ax.XAxis.TickDirection = 'out';
% steal the tick locations from the minor ticks, then turn the minor ticks off:
drawnow
ax.XTick = ax.XAxis.MinorTickValues;
ax.XMinorTick = 'off';
% remove labels we don't want to keep:
ax.XTickLabel(~ismember(ax.XTick, labels)) = {''};
  1 件のコメント
Jeevan Kumar Bodaballa
Jeevan Kumar Bodaballa 2020 年 6 月 8 日
This is working but I'd wonder if we have any optmised code !

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

その他の回答 (1 件)

the cyclist
the cyclist 2020 年 6 月 8 日
One way is to use the semilogx function.
  3 件のコメント
Jeevan Kumar Bodaballa
Jeevan Kumar Bodaballa 2020 年 6 月 8 日
Appreciated for your help and explanation. :)
Thank you

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

Community Treasure Hunt

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

Start Hunting!

Translated by