気になる機能はこちら。ズームイン/ズームアウトするたびに Y 軸がスケーリングされます。'sinh' 変換が使用されますが、それは任意の変換である可能性があります。
その背後にある matlab コア関数は 'ActionPostCallback' です。詳細については、 http://www.mathworks.fr/fr/help/matlab/ref/zoom.htmlを参照してください。アナログ関数「ActionPreCallback」も使用できます。これらのちょっとした便利な機能は、メイン機能の 'rotate3d'、'pan'、'zoom' および 'brush' にも使用できます。
function applyCustomScalingWhenZooming
%some data
x=1:1/1000:100;
y=1:1/1000:100;
%figure
figure;
plot (x, asinh (2*y));
set (gca, 'YTickLabel', ...
num2str ((sinh (get (gca, 'YTick')) / 2)(:), '%g')); %initial format
%defines callback when zoom action
h = zoom; %define handle for 'zoom'
%action to be called right after zooming
set(h,'ActionPostCallback', {@mypostcallback});
function mypostcallback(obj,event_obj)
%format function
set (gca, 'YTickLabel', ...
num2str ((sinh (get (gca, 'YTick')) / 2)(:), '%g'));