Why do I receive the error "Error using enableLega​cyExplorat​ionModes" when using "axtoolbar" with "PostActionCallback" on "uifigure" in MATLAB R2025a?

8 次查看(过去 30 天)
I have created a custom axes toolbar using "axtoolbar". I also have a "uifigure", for which, date labels disappear on zooming in. I want to enable a callback method on zooming my "uifigure" so that I can manually update these labels in the callback. I am using "PostActionCallback" to attach a callback to "uiaxes" for zooming my "uifigure". Why do I get an error "Error using enableLegacyExplorationModes. Custom axes toolbar found. Call enableLegacyExplorationModes before customizing the axes toolbar."? And how can I update date labels automatically on zooming in "uifigure"?

采纳的回答

MathWorks Support Team
MathWorks Support Team 2026-2-5,0:00
This is expected behavior as "PostActionCallback" method is not supported without going into legacy mode. Using custom toolbar is not possible in legacy mode.
The interaction behavior in figures created in R2024b and earlier versions of MATLAB is called "legacy exploration modes". In legacy exploration modes, you can control interaction behavior only on a per figure basis. So, in legacy exploration modes, all the axes inside a given figure always have the same interaction modes. For more information on legacy exploration modes, please refer to the legacy exploration modes documentation.
Instead of using "PostActionCallback", you can follow the below approaches:
  • Use "xtickformat" function to update date labels automatically on zooming
    >> xtickformat(app.UIAxes,'MMM-yyyy');
  • You can also use "LimitsChangedFcn" to set a custom callback function. For example: 
    >> app.UIAxes.XAxis.LimitsChangedFcn = @(src,event)updateDateXTicks(app);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Exploration 的更多信息

产品


版本

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by