Пользовательские шкалы осей - «Обратный» логарифмический? - PullRequest
4 голосов
/ 22 марта 2011

Извините за плохой титул;)

Я пытаюсь воссоздать сюжет matlab, с которым я столкнулся в какой-то другой работе, но я не совсем понимаю масштаб, который они используют. Приращения оси y следующие (сверху [+ ve y]):

0,9999, 0,999, 0,99, 0,9, 0

Я могу использовать полулогию для построения логарифмического графа, но это не совсем так; мои приращения идут

1, 0,1, 0,01, 0,001, и т.д.

что на самом деле 1 - i , где i - это приращения, которые я на самом деле хочу! В любом случае, я не совсем понимаю, как описать этот тип сюжета; кто-нибудь может помочь?

1 Ответ

4 голосов
/ 23 марта 2011

Чтобы построить оси так, как вы хотите, вы должны сделать три шага: (1) построить 1-й, (2) обратные оси (3) относительные оси

y = [0.4 0.8 0.99 0.9999];

%# plot 1-y 
plot(1-y) %# alternatively use semilog, then you won't have to adjust 'yscale' below

%# reverse y-axis
set(gca,'ydir','reverse','yscale','log')

%# if necessary, set the axis limits here

%# relabel y-axis
set(gca,'yticklabel',num2str(1-10.^str2num(get(gca,'yticklabel'))))

enter image description here

...