Похоже, что метки на оси y не являются непосредственно значениями на этой оси
>> get(gca, 'ytick')
ans =
-3.7190 -1.6449 -1.2816 -0.6745 0 0.6745 1.2816 ...
, а скорее
>> normcdf(get(gca, 'ytick'))
ans =
0.0001 0.0500 0.1000 0.2500 0.5000 0.7500 0.9000 ...
(число -1.2816
сообщило, что normcdf
было задействовано).Поэтому метки могут быть получены из значений, используя norminv
.Например,
>> norminv(.0001)
ans =
-3.7190
Таким образом, чтобы указать набор требуемых значений, используйте его после создания графика:
desired_values = [.0001 .005 .05 .25 .75 .95 .995 .9999];
set(gca, 'ytick', norminv(desired_values), 'yticklabels', desired_values);
Пример
Пусть
TestData = exp(randn(1,1e5)); % example data
До (то есть график, полученный из вашего кода):
После (то есть, используя мой код на графике выше):