使用 xlim 后使 "Reset to Original View" 缩小到整个范围
Make "Reset to Original View" zoom out to whole range after using xlim
当您在 MATLAB 中使用 xlim
时,您设置的限制将变为 "original view"。
这意味着用缩放工具右击,然后选择 "Reset to Original View" 不会缩小到整个范围。
例如:
figure(1);
x = 0:0.1:6
plot( x, sin(x) ); % Example plot, x axis range [0, 6]
xlim( [2, 4] ); % 'Zoom' into the x axis range [2, 4]
% Limits are unchanged at [2, 4] when [0, 6] is desirable.
现在我可以平移了,但是如果我想缩小整个范围(例如 [0, 6]
),我不能自动这样做。
我看到了两个可能的选项,但我都找不到实现方法:
而不是使用 xlim
,以编程方式 zoom
进入情节。 zoom
函数只能采用比例因子输入,并且对于缩放到类似于 xlim
.
的特定范围似乎没有用
以某种方式更改 "Reset to Original View" 回调的默认行为。不确定我是否想劫持此回调,即使我可以。
有什么想法吗?
一种选择是使用未记录的命令 resetplotview
。
来自doc resetplotview
:
Internal use only. This function may be removed in a future release.
在 xlim
命令之前调用此函数。
figure(1);
x = 0:0.1:6
plot( x, sin(x) ); % Example plot, x axis range [0, 6]
resetplotview( gca, 'InitializeCurrentView' ) % Ensure we can reset the zoom
xlim( [2, 4] ); % 'Zoom' into the x axis range [2, 4]
这是预期的结果,点击 "Reset to Original View" 缩小到 x 范围 [0, 6]
,但最初显示的 x 范围是 [2, 4]
。
由于此函数未记录,因此了解内部上下文可能会有用。您可以 edit resetplotview
查看 'InitializeCurrentView'
选项的实现位置。本质上,它利用 setappdata
来定义 'matlab_graphics_resetplotview'
属性,特别是 XLim
属性 为 'auto'
。如果 resetplotview
函数已贬值,您可能可以手动执行此操作。
当您在 MATLAB 中使用 xlim
时,您设置的限制将变为 "original view"。
这意味着用缩放工具右击,然后选择 "Reset to Original View" 不会缩小到整个范围。
例如:
figure(1);
x = 0:0.1:6
plot( x, sin(x) ); % Example plot, x axis range [0, 6]
xlim( [2, 4] ); % 'Zoom' into the x axis range [2, 4]
% Limits are unchanged at [2, 4] when [0, 6] is desirable.
现在我可以平移了,但是如果我想缩小整个范围(例如 [0, 6]
),我不能自动这样做。
我看到了两个可能的选项,但我都找不到实现方法:
而不是使用
xlim
,以编程方式zoom
进入情节。zoom
函数只能采用比例因子输入,并且对于缩放到类似于xlim
. 的特定范围似乎没有用
以某种方式更改 "Reset to Original View" 回调的默认行为。不确定我是否想劫持此回调,即使我可以。
有什么想法吗?
一种选择是使用未记录的命令 resetplotview
。
来自doc resetplotview
:
Internal use only. This function may be removed in a future release.
在 xlim
命令之前调用此函数。
figure(1);
x = 0:0.1:6
plot( x, sin(x) ); % Example plot, x axis range [0, 6]
resetplotview( gca, 'InitializeCurrentView' ) % Ensure we can reset the zoom
xlim( [2, 4] ); % 'Zoom' into the x axis range [2, 4]
这是预期的结果,点击 "Reset to Original View" 缩小到 x 范围 [0, 6]
,但最初显示的 x 范围是 [2, 4]
。
由于此函数未记录,因此了解内部上下文可能会有用。您可以 edit resetplotview
查看 'InitializeCurrentView'
选项的实现位置。本质上,它利用 setappdata
来定义 'matlab_graphics_resetplotview'
属性,特别是 XLim
属性 为 'auto'
。如果 resetplotview
函数已贬值,您可能可以手动执行此操作。