# Axis in scientific form - have tried to stop it....

조회 수: 71(최근 30일)
Tom 2012년 1월 28일
댓글: Walter Roberson 2021년 2월 22일
axis in scientific form - have tried to stop it….
I have a plot with a logarithmic scale on the x-axis and I want it to say the numbers like 1,10,100,1000 etc. and not 10^0, 10^1, 10^2 etc. It'd be great if someone could help me do that.
I've given it about 20 minutes just now and I gave it 20 minutes yesterday too and I still can't get it to work. I've left my attempt on the bottom anyway.
close all
clear all
m = 0.05;
k = 1000;
R = 1;
f = linspace(0,19999,20000);
Xm = m.*(2*pi.*f) - k./(2*pi.*f);
createfigurelog(f,Xm);
%set(gca,'XTick', [0,1,10,100,1000,10000]); %set(gca,'XTickLabel',sprintf('%3.4f|',f))

댓글을 달려면 로그인하십시오.

### 채택된 답변

Walter Roberson 2012년 1월 28일
curtick = get(gca, 'XTick');
set(gca, 'XTickLabel', cellstr(num2str(curtick(:))));
The scientific notation is not used if the tick labels are set.
Also note the "trick" of passing a column vector to num2str.
##### 댓글 수: 6표시숨기기 이전 댓글 수: 5
Walter Roberson 2021년 2월 22일
The Exponent is intended to deal with the situation in which the end of the ruler has an exponent written in, such as
x = linspace(0,5,1000);
y = 100*exp(x).*sin(20*x);
ax = gca;
plot(ax, x, y) ax.XRuler.TickLabel
ans = 6x1 cell array
{'0'} {'1'} {'2'} {'3'} {'4'} {'5'}
ax.XRuler.TickLabelFormat
ans = '%g'
However, when you use loglog() then those end-of-ruler exponents are not written in.
loglog(ax, x, y) ax.XRuler.TickLabel
Warning: Negative data ignored
ans = 5x1 cell array
{'10^{-3}'} {'10^{-2}'} {'10^{-1}'} {'10^{0}' } {'10^{1}' }
ax.XRuler.TickLabelFormat
ans = '%g'
The only XRuler properties I look at that appears to control this automatic writing-in of formatted ticks is Scale
loglog(ax, x, y)
ax.XRuler.Scale = 'linear'; ax.XRuler.TickLabel
Warning: Negative data ignored
ans = 6x1 cell array
{'0'} {'1'} {'2'} {'3'} {'4'} {'5'}
My initial guess was that TickLabelFormat would control it, but it does not -- and I realized that there is no % format specifier for raised exponent so TickLabelFormat could not control it.

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!