{"id":3593,"date":"2026-01-14T09:37:24","date_gmt":"2026-01-14T14:37:24","guid":{"rendered":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/?p=3593"},"modified":"2026-01-14T09:37:24","modified_gmt":"2026-01-14T14:37:24","slug":"introducing-new-interactions-system-in-matlab-r2025a","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/01\/14\/introducing-new-interactions-system-in-matlab-r2025a\/","title":{"rendered":"Introducing New Interactions System in MATLAB R2025a"},"content":{"rendered":"<table style=\"background-color: #e2f0ff\">\n<tbody>\n<tr>\n<td style=\"width: 120px;padding: 3px;vertical-align: middle\"><img decoding=\"async\" class=\"aligncenter size-medium\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/WillJackson.jpeg\" alt=\"Portrait of Will Jackson\" \/><\/td>\n<td style=\"vertical-align: middle;padding: 3px\"><strong>Guest Writer: <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/profile\/authors\/1274477\" target=\"_blank\" rel=\"noopener\">Will Jackson<\/a><br \/>\n<\/strong>Will Jackson serves as the manager of the interactions and accessibility team for MATLAB. Will joined MathWorks in 2008 and contributed to the charting and interactions areas as a developer before becoming a manager.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<div class=\"rtcContent\">\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">I\u2019m Will and I\u2019ve developed interactive tools for exploring graphics in MATLAB for many years and I\u2019m now the manager of the graphics interactions and accessibility team. Graphics interactions come in the form of panning, zooming, rotating, creating a datatip, or some other change to graphics objects using the mouse, keyboard or touch. Today, I\u2019m going to share some key points about how interactions work differently in our new web-based graphics system, introduced in R2025a, and how you can best take advantage of it!<\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">When we began the transition to web technologies, we knew right away that we wanted graphics interactions to be more flexible and contextual than the system we had and we wanted to provide these at a high performance no matter how you use MATLAB, like in the Live Editor, a deployed web app, MATLAB Online or of course, the desktop. We also knew that we wanted to maintain compatibility with the existing system and ensure that longstanding interactions code be able to continue to work for everyone.<\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-weight: bold\">Contextual Interactions<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">Let\u2019s start with contextual interactions. It used to be the case that interaction customization could only occur at the figure level and when you wanted to explore your axes, you enabled, disabled and customized how you interacted at a figure level. For example, you could say that zoom should work only in the horizontal direction in your figure with,<\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 15px 10px 0;min-width: 100%\">\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 4px 4px 0px 0px;padding: 6px 45px 0px 13px;line-height: 18.004px;min-height: 0px;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace, Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 14px\">z = zoom;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px 0px 4px 4px;padding: 0px 45px 4px 13px;line-height: 18.004px;min-height: 0px;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace, Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 14px\">z.Motion = <span style=\"color: #a709f5\">\"horizontal\"<\/span>;<\/div>\n<\/div>\n<\/div>\n<div style=\"margin: 10px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">This restricts zooming to the horizontal direction for all axes in the figure which may not be desired.<\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">Over the years, we\u2019ve expanded the number of customizations users can make to their axes and created charts with highly customized interactions. For the web-based graphics system, we\u2019ve moved to a more contextual system where interactions are enabled, disabled and customized at an axes or chart level or even below that, at the object level (see the <a href=\"https:\/\/www.mathworks.com\/help\/matlab\/creating_plots\/create-custom-data-tips.html\" target=\"_blank\" rel=\"noopener\">doc for DataTipTemplate<\/a> for how to customize the contents of a datatip on a particular object like a line). For example, here is how you restrict pan and zoom to one direction on an individual axes.<\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 15px 10px 0;min-width: 100%\">\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 4px 4px 0px 0px;padding: 6px 45px 0px 13px;line-height: 18.004px;min-height: 0px;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace, Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 14px\">ax = axes;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px 0px 4px 4px;padding: 0px 45px 4px 13px;line-height: 18.004px;min-height: 0px;font-family: Menlo, Monaco, Consolas, 'Courier New', monospace, Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 14px\">ax.InteractionOptions.LimitsDimensions= <span style=\"color: #a709f5\">\"x\"<\/span>;<\/div>\n<\/div>\n<\/div>\n<div style=\"margin: 10px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">This enables pan and zoom in only the x-direction and only for the specified axes. This becomes critical when you have multiple axes in a figure, and you want them to interact in different ways.<\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">Using the InteractionOptions property on axes is the new, most up-to-date way we have to customize interactions and should be used over previous methods. There are even significant performance benefits as well which we\u2019ll explore in the next section. Different kinds of axes have different customizations available to them and hence have different InteractionOptions properties since they support different kinds of interactions. For more information on InteractionOptions in various axes, see our doc pages here,<\/div>\n<ul style=\"margin: 10px 0px 20px;padding-left: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-size: 14px\">\n<li style=\"margin-left: 56px;line-height: 21px;min-height: 0px;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.interaction.cartesianaxesinteractionoptions.cartesianaxesinteractionoptions-properties.html?s_tid=srchtitle_support_results_2_interactionoptions\" target=\"_blank\" rel=\"noopener\">Cartesian Axes<\/a><\/li>\n<li style=\"margin-left: 56px;line-height: 21px;min-height: 0px;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/map\/ref\/map.graphics.interaction.interactionoptions.mapaxesinteractionoptions-properties.html?searchHighlight=InteactionOptions&amp;s_tid=srchtitle_support_results_2_InteactionOptions\" target=\"_blank\" rel=\"noopener\">Map Axes<\/a><\/li>\n<li style=\"margin-left: 56px;line-height: 21px;min-height: 0px;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.interaction.geographicaxesinteractionoptions.geographicaxesinteractionoptions-properties.html?searchHighlight=InteactionOptions&amp;s_tid=srchtitle_support_results_4_InteactionOptions\" target=\"_blank\" rel=\"noopener\">Geographic Axes<\/a><\/li>\n<li style=\"margin-left: 56px;line-height: 21px;min-height: 0px;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.interaction.polaraxesinteractionoptions.polaraxesinteractionoptions-properties.html?searchHighlight=InteactionOptions&amp;s_tid=srchtitle_support_results_3_InteactionOptions\" target=\"_blank\" rel=\"noopener\">Polar Axes<\/a><\/li>\n<\/ul>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-weight: bold\">Performance<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">When it came to performance, our original interactions were built off of figure-based mouse callbacks - WindowButtonDownFcn, WindowButtonMotionFcn, etc. We knew right away that those callbacks would not be as fast as we would want them in a deployed app, for example, where network latency could make the interaction slower to execute. So, we re-wrote some core interactions in JavaScript, including most pan, zoom and rotate interactions as well as some others. Doing this allows us to have much faster interactions and we are continuing to make them faster and write more interactions in this way each release.<\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">Here is an example of a plot with 5 million markers that panned at 1fps in Java, and now rotates at 60fps on the web.<\/div>\n<table style=\"margin: 3px;border-collapse: collapse\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><div class=\"row\"><div class=\"col-xs-12 containing-block\"><div class=\"bc-outer-container add_margin_20\"><videoplayer><div class=\"video-js-container\"><video data-video-id=\"6387677399112\" data-video-category=\"blog\" data-autostart=\"false\" data-account=\"62009828001\" data-omniture-account=\"mathwgbl\" data-player=\"rJ9XCz2Sx\" data-embed=\"default\" id=\"mathworks-brightcove-player\" class=\"video-js\" controls><\/video><script src=\"\/\/players.brightcove.net\/62009828001\/rJ9XCz2Sx_default\/index.min.js\"><\/script><script>if (typeof(playerLoaded) === 'undefined') {var playerLoaded = false;}(function isVideojsDefined() {if (typeof(videojs) !== 'undefined') {videojs(\"mathworks-brightcove-player\").on('loadedmetadata', function() {playerLoaded = true;});} else {setTimeout(isVideojsDefined, 10);}})();<\/script><\/div><\/videoplayer><\/div><\/div><\/div><\/div>\n<\/td>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><div class=\"row\"><div class=\"col-xs-12 containing-block\"><div class=\"bc-outer-container add_margin_20\"><videoplayer><div class=\"video-js-container\"><video data-video-id=\"6387677490112\" data-video-category=\"blog\" data-autostart=\"false\" data-account=\"62009828001\" data-omniture-account=\"mathwgbl\" data-player=\"rJ9XCz2Sx\" data-embed=\"default\" id=\"mathworks-brightcove-player\" class=\"video-js\" controls><\/video><script src=\"\/\/players.brightcove.net\/62009828001\/rJ9XCz2Sx_default\/index.min.js\"><\/script><script>if (typeof(playerLoaded) === 'undefined') {var playerLoaded = false;}(function isVideojsDefined() {if (typeof(videojs) !== 'undefined') {videojs(\"mathworks-brightcove-player\").on('loadedmetadata', function() {playerLoaded = true;});} else {setTimeout(isVideojsDefined, 10);}})();<\/script><\/div><\/videoplayer><\/div><\/div><\/div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: center\">R2024b Java-based Graphics<\/div>\n<\/td>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: center\">R2025a Web-based Graphics<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">We are also using the web-based graphics system to improve interactive performance in new ways. For example, here is how we can get faster performance on web by rendering more efficiently. In the videos below, note specifically that when you pan a line with a large amount of data in Java (R2024a, left), you may have seen slow performance. In web graphics (R2025a, right), we display your line data more efficiently, so that even lines with large data can be panned with high performance.<\/div>\n<table style=\"margin: 3px;border-collapse: collapse\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\"><div class=\"row\"><div class=\"col-xs-12 containing-block\"><div class=\"bc-outer-container add_margin_20\"><videoplayer><div class=\"video-js-container\"><video data-video-id=\"6387677877112\" data-video-category=\"blog\" data-autostart=\"false\" data-account=\"62009828001\" data-omniture-account=\"mathwgbl\" data-player=\"rJ9XCz2Sx\" data-embed=\"default\" id=\"mathworks-brightcove-player\" class=\"video-js\" controls><\/video><script src=\"\/\/players.brightcove.net\/62009828001\/rJ9XCz2Sx_default\/index.min.js\"><\/script><script>if (typeof(playerLoaded) === 'undefined') {var playerLoaded = false;}(function isVideojsDefined() {if (typeof(videojs) !== 'undefined') {videojs(\"mathworks-brightcove-player\").on('loadedmetadata', function() {playerLoaded = true;});} else {setTimeout(isVideojsDefined, 10);}})();<\/script><\/div><\/videoplayer><\/div><\/div><\/div><\/td>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><div class=\"row\"><div class=\"col-xs-12 containing-block\"><div class=\"bc-outer-container add_margin_20\"><videoplayer><div class=\"video-js-container\"><video data-video-id=\"6387678654112\" data-video-category=\"blog\" data-autostart=\"false\" data-account=\"62009828001\" data-omniture-account=\"mathwgbl\" data-player=\"rJ9XCz2Sx\" data-embed=\"default\" id=\"mathworks-brightcove-player\" class=\"video-js\" controls><\/video><script src=\"\/\/players.brightcove.net\/62009828001\/rJ9XCz2Sx_default\/index.min.js\"><\/script><script>if (typeof(playerLoaded) === 'undefined') {var playerLoaded = false;}(function isVideojsDefined() {if (typeof(videojs) !== 'undefined') {videojs(\"mathworks-brightcove-player\").on('loadedmetadata', function() {playerLoaded = true;});} else {setTimeout(isVideojsDefined, 10);}})();<\/script><\/div><\/videoplayer><\/div><\/div><\/div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: center\">R2024b Java-based Graphics<\/div>\n<\/td>\n<td style=\"vertical-align: top\">\n<div style=\"margin: 2px 10px 2px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: center\">R2025a Web-based Graphics<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-weight: bold\">For a guide to optimizing performance, see the table below. Use features on the left-side for best performance. If you are using functionality on the right, consider whether it\u2019s necessary or if the left-side alternative meets your needs.<\/span><\/div>\n<div><\/div>\n<table style=\"margin: 3px;border-collapse: collapse;border: 1px solid #cccccc;width: 899px;height: 182px\">\n<tbody>\n<tr style=\"background-color: #f2f2f2\">\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\">For high performance, use these<\/div>\n<\/td>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\">avoid these<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.interaction.cartesianaxesinteractionoptions.cartesianaxesinteractionoptions-properties.html?s_tid=srchtitle_support_results_1_InteractionOptions\" target=\"_blank\" rel=\"noopener\"><span style=\"font-family: monospace\">InteractionOptions<\/span><\/a><br \/>\nExample code: To limit panning and zooming to the x dimension, use,<\/div>\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">ax = axes;<\/span><\/div>\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">ax.InteractionOptions.LimitsDimensions = \"x\";<\/span><\/div>\n<\/div>\n<\/td>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/enablelegacyexplorationmodes.html\" target=\"_blank\" rel=\"noopener\">Legacy Modes<\/a><\/div>\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\">Example code: To limit zooming to the x dimension, use,<\/div>\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">z = zoom;<\/span><\/div>\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">z.Motion = <\/span><span style=\"font-family: monospace;color: #a709f5\">\"horizontal\"<\/span><span style=\"font-family: monospace\">;<\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/linkaxes.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-family: monospace\">linkaxes<\/span><\/a> \u2013 this will give high performance for panning and zooming on all linked axes<\/div>\n<\/td>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.axis.decorator.numericruler-properties.html?s_tid=srchtitle_support_results_3_axes+ruler+properties#mw_954eafc7-d910-40b1-8983-97df1dce53f3\" target=\"_blank\" rel=\"noopener\"><span style=\"font-family: monospace\">LimitsChangeFcn<\/span><\/a> \u2013 This is a MATLAB callback that will run whenever the limits change. If this is being used to synchronize axes limits among multiple axes, linkaxes is a more performant choice.<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">yyaxis<\/span><\/div>\n<\/td>\n<td style=\"vertical-align: top;border: 1px solid #ccc\">\n<div style=\"margin: 2px 10px 2px 4px;line-height: 21px;font-family: Helvetica, Arial, sans-serif;font-size: 14px;font-weight: 400;text-align: left\"><span style=\"font-family: monospace\">plotyy<\/span><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px;padding: 0px;line-height: 21px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 14px;font-weight: 400;text-align: left\">Overall, I am really happy with the progress we have made to provide you with axes and chart-level customizations of your interactions that are high-performance, even on a web-based system where your figure is displayed on a different machine than MATLAB commands are run. I hope you enjoy them and please know that we are working hard to expand our high-speed interactive offerings each release!<\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<p><script type=\"text\/javascript\">\n{ let css = '';\nlet head = document.head || document.getElementsByTagName('head')[0];\nlet style = document.createElement('style');\nhead.appendChild(style);\nstyle.type = 'text\/css';\nif (style.styleSheet) {\n    style.styleSheet.cssText = css;\n} else {\n    style.appendChild(document.createTextNode(css));\n}<\/p>\n<p>}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/R2025a_NewInteractionsSystem.gif\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div>\n<p>Guest Writer: Will Jackson<br \/>\nWill Jackson serves as the manager of the interactions and accessibility team for MATLAB. Will joined MathWorks in 2008 and contributed to the charting and interactions... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/01\/14\/introducing-new-interactions-system-in-matlab-r2025a\/\">read more >><\/a><\/p>\n","protected":false},"author":198,"featured_media":3610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11,2,20,8],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3593"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/users\/198"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/comments?post=3593"}],"version-history":[{"count":16,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3593\/revisions"}],"predecessor-version":[{"id":3609,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3593\/revisions\/3609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media\/3610"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media?parent=3593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/categories?post=3593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/tags?post=3593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}