{"id":3699,"date":"2026-05-04T09:03:13","date_gmt":"2026-05-04T13:03:13","guid":{"rendered":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/?p=3699"},"modified":"2026-05-04T09:03:13","modified_gmt":"2026-05-04T13:03:13","slug":"an-accessible-modern-axes-toolbar","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/05\/04\/an-accessible-modern-axes-toolbar\/","title":{"rendered":"An Accessible &amp; Modern Axes Toolbar"},"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\/04\/JessaKarlberg.jpg\" alt=\"Portrait of Jessa Karlberg\" \/><\/td>\n<td style=\"vertical-align: middle;padding: 3px\"><strong>Guest Writer: <a href=\"https:\/\/www.linkedin.com\/in\/jessakarlberg\/\" target=\"_blank\" rel=\"noopener\">Jessa Karlberg<\/a><br \/>\n<\/strong>Jessa is a software engineer on the Graphics Interactions and Accessibility team at MathWorks. After years of creating her own charts and data visualizations, she now develops tools to help others do the same, with an eye to interactive design and user experience. When she\u2019s not coding, she enjoys drinking way too much tea and knitting copious quantities of hats.<\/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\"><span class=\"_richTextNode\">The axes toolbar was introduced in MATLAB R2018b as a way to show useful controls and tools right next to the axes, where those tools are relevant. The toolbar gives users finer-grained control over interactions that are enabled on axes by default, like zooming and data brushing. The toolbar also helps chart creators provide custom functionality in a consistent and predictable place.<\/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\"><img decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"26\" class=\"size-full wp-image-3700 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_1.png\" alt=\"\" \/><\/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 class=\"_richTextNode\">Over the years, we noticed opportunities to improve the axes toolbar experience\u2014particularly for people using touchscreens, keyboard navigation, and screen readers. That\u2019s why, in R2026a, we updated the toolbar to make it more accessible for more users! The toolbar now starts collapsed as a single button, which is always visible. All interactions with the toolbar, such as displaying the toolbar or drop-down items, are click-based rather than hover-based, which greatly improves accessibility and gives users explicit control over when and how the toolbar appears.<\/span><\/div>\n<\/div>\n<div>\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>\n<\/div>\n<table style=\"width: 100%;margin: 3px;border-collapse: collapse\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top;width: 50%\">\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=\"6394210651112\" 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;width: 50%\">\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=\"6394209773112\" 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;width: 50%\">\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\">Before R2026a<\/div>\n<\/td>\n<td style=\"vertical-align: top;width: 50%\">\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\">R2026a<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\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\"><span class=\"_richTextNode\">The refreshed toolbar meets <\/span><a href=\"https:\/\/www.mathworks.com\/support\/accessibility.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">Web Content Accessibility Guidelines<\/span><\/a><span class=\"_richTextNode\">, which means that users can now use tab and arrow keys to <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/matlab_env\/accessibility-use-keyboard-shortcuts-to-navigate-matlab.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">navigate with their keyboard,<\/span><\/a><span class=\"_richTextNode\"> get helpful hints about button functionality by listening to a <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/matlab_env\/accessibility-use-a-screen-reader-to-access-matlab.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">screen reader<\/span><\/a><span class=\"_richTextNode\">'s descriptions, and have a high-quality experience on touchscreens, where hover isn't straightforward but clicking is simple and fully supported.<\/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\"><span class=\"_richTextNode\">In addition to improved accessibility, the toolbar has improved performance, as well as several exciting new updates to give users even more control over their experience. I'll walk through a handful of these updates and share some tips and tricks for working with the axes toolbar.<\/span><\/div>\n<h2 style=\"margin: 3px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Expand an axes toolbar<\/span><\/h2>\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 class=\"_richTextNode\">I happen to love bubble tea, also known as boba, and on a recent trip to Taiwan\u2014the birthplace of bubble tea\u2014a friend challenged me to try one new bubble tea shop each day. I was happy to embrace the challenge, but as I went, I realized I could have benefited from being a bit more systematic in my approach.<\/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\"><span class=\"_richTextNode\">When I got back home, I decided to create a simple tool that would have helped me track my bubble tea adventures. To begin, I decided my boba tool would display a map to keep track of all the bubble tea shops I had visited. Something like this:<\/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\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3701 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_2.png\" alt=\"\" width=\"360\" height=\"448\" \/><\/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 class=\"_richTextNode\">Next, I wanted a way to easily add new shops as I tried them. What if I added a button to the axes toolbar to provide this functionality? Default axes toolbars aren't meant to be customized, but it's easy to create a custom axes toolbar with all the same buttons. Because my custom axes toolbar is important for my boba tracking tool, I made the toolbar fully visible from the start by setting the toolbar's new <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.controls.axestoolbar-properties.html#mw_56a5140c-bd9f-4f1f-9013-277fb6c90cac\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=\"font-weight: bold;font-family: monospace\">Expanded<\/span><\/a> <span class=\"_richTextNode\">property.<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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 = gca;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">tb = axtoolbar(ax,<span style=\"color: #a709f5\">\"default\"<\/span>);<\/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\">tb.Expanded = <span style=\"color: #a709f5\">\"on\"<\/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\"><span class=\"_richTextNode\"><img decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"91\" class=\"size-full wp-image-3702 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_3.png\" alt=\"\" \/><\/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\"><span class=\"_richTextNode\">Particularly in charts with important custom functionality accessible through the toolbar, expanding your axes toolbar improves discoverability and helps users immediately begin to interact with your chart.<\/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\"><span class=\"_richTextNode\" style=\"font-style: italic\">Note: If you want the axes toolbar to always begin as expanded on all charts, you can use <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/creating_plots\/default-property-values.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=\"font-style: italic\">default property values<\/span><\/a><span class=\"_richTextNode\" style=\"font-style: italic\">:<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 4px;padding: 6px 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\">set(groot,<span style=\"color: #a709f5\">\"defaultAxesToolbarExpanded\"<\/span>,<span style=\"color: #a709f5\">\"on\"<\/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\"><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Make accessible and scalable buttons<\/span><\/h2>\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 class=\"_richTextNode\">As an easy entry point to my \u201cadd a new bubble tea shop\u201d interaction, I added a custom button with my desired functionality. As of R2026a,<\/span><span class=\"_richTextNode\" style=\"font-weight: bold\"> toolbar button icons can now be SVG images<\/span><span class=\"_richTextNode\">, which look much clearer and crisper, and scale better across different resolutions and displays than PNGs or other image types. To support accessibility, it's also important to <\/span><span class=\"_richTextNode\" style=\"font-weight: bold\">specify a tooltip<\/span><span class=\"_richTextNode\">, so screen readers can provide information about a button's purpose to users (as of R2026a). <\/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\"><span class=\"_richTextNode\">So, I made sure to use an SVG version of my bubble tea icon and to set descriptive tooltip text:<br \/>\n<a href=\"https:\/\/github.com\/MATLAB-Graphics-and-App-Building\/matlab-gaab-blog-2026\/tree\/5edde6c30fcc2f7b8a0580c3b7a4fc7b05718817\/PersistentAxesToolbar\" target=\"_blank\" rel=\"noopener\"><em>Download the svg file<\/em><\/a><br \/>\n<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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\">btn = axtoolbarbtn(tb,<span style=\"color: #a709f5\">\"state\"<\/span>, ...<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Icon=<span style=\"color: #a709f5\">\"tea.svg\"<\/span>, ...<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Tooltip=<span style=\"color: #a709f5\">\"Add new bubble tea shop\"<\/span>, ...<\/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\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ValueChangedFcn=@btnCallback);<\/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\"><img decoding=\"async\" loading=\"lazy\" width=\"378\" height=\"93\" class=\"size-full wp-image-3703 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_4.png\" alt=\"\" \/><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Move a toolbar inside a chart<\/span><\/h2>\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 class=\"_richTextNode\">I wanted to make the map really big and fill most of the figure so that I could maximize the space to show as many bubble tea shops as possible. But I didn\u2019t want the toolbar to disappear off screen. In R2026a, axes has a new <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.axis.axes-properties.html#budumk7_sep_mw_7d50af64-37d8-4a79-8a50-9f8028ed3d33\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=\"font-weight: bold;font-family: monospace\">ToolbarLocation<\/span><\/a><span class=\"_richTextNode\"> property, which I used to position the toolbar \"inside\" the axes rather than its default \"outside\" position.<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 4px;padding: 6px 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.ToolbarLocation = <span style=\"color: #a709f5\">\"inside\"<\/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\"><span class=\"_richTextNode\">Now, if I click the button, I\u2019m able to add a bubble tea shop, record how much I liked it so I can easily find my favorites later, and see it show up on my nice large map for future reference:<\/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\"><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=\"6394210089112\" 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<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<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Adjust for dark theme<\/span><\/h2>\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 class=\"_richTextNode\">What if I use this tool at night and the light background strains my eyes? As of R2025a, figures can be put into <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.ui.figure.html#mw_16aa9b7d-ff84-4943-8afc-c003b7524a31\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">dark theme<\/span><\/a><span class=\"_richTextNode\">! Default toolbars automatically work with dark theme, but to make your new custom button look its best, you can simply listen for the figure's theme change and swap out your button\u2019s icon when in <\/span><span class=\"_richTextNode\" style=\"font-weight: bold\">dark theme.<br \/>\n<\/span><span class=\"_richTextNode\"><span class=\"_richTextNode\"><a href=\"https:\/\/github.com\/MATLAB-Graphics-and-App-Building\/matlab-gaab-blog-2026\/tree\/5edde6c30fcc2f7b8a0580c3b7a4fc7b05718817\/PersistentAxesToolbar\" target=\"_blank\" rel=\"noopener\"><em>Download<\/em><\/a><\/span><\/span><span class=\"_richTextNode\"><span class=\"_richTextNode\"><a href=\"https:\/\/github.com\/MATLAB-Graphics-and-App-Building\/matlab-gaab-blog-2026\/tree\/5edde6c30fcc2f7b8a0580c3b7a4fc7b05718817\/PersistentAxesToolbar\" target=\"_blank\" rel=\"noopener\"><em> the svg files<\/em><\/a><\/span><\/span><span class=\"_richTextNode\" style=\"font-weight: bold\"><br \/>\n<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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\">f = gcf;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">f.ThemeChangedFcn = @(obj,evd) swapIcon(evd.Theme,btn);<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\"><\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\"><span style=\"color: #0e00ff\">function<\/span> swapIcon(newTheme,btn)<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0<span style=\"color: #0e00ff\">if<\/span> strcmpi(newTheme.BaseColorStyle,<span style=\"color: #a709f5\">\"light\"<\/span>)<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0btn.Icon = <span style=\"color: #a709f5\">\"tea.svg\"<\/span>;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0<span style=\"color: #0e00ff\">else<\/span><\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0btn.Icon = <span style=\"color: #a709f5\">\"tea-dark.svg\"<\/span>;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">\u00a0\u00a0\u00a0\u00a0<span style=\"color: #0e00ff\">end<\/span><\/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\"><span style=\"color: #0e00ff\">end<\/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\"><img decoding=\"async\" loading=\"lazy\" width=\"222\" height=\"60\" class=\"size-full wp-image-3704 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_5.png\" alt=\"\" \/><\/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 class=\"_richTextNode\">Check out our <\/span><a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/07\/22\/a-guide-to-themes-for-chart-creators-and-app-builders\/\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">guide to themes for chart and app creators<\/span><\/a><span class=\"_richTextNode\"> to learn about creating theme-friendly charts and apps.<\/span><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Share a toolbar across multiple axes<\/span><\/h2>\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 class=\"_richTextNode\">A bit into my visit, I started to get worried about my sugar intake and decided to check whether I was getting sufficient exercise to offset my tea consumption. To help with this sort of analysis, I added a couple plots to my boba tool that let me compare my bubble tea intake to my daily steps walked.<\/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\"><span class=\"_richTextNode\">Because each axes doesn't need its own toolbar, I assigned a <\/span><span class=\"_richTextNode\" style=\"font-weight: bold\">shared axes toolbar to the tiled layout, <\/span><span class=\"_richTextNode\">before creating the axes. A shared toolbar makes it easier to control both charts with a single click, slightly improves startup time of my tool as the individual axes don't need their own separate toolbars, and let users customize which buttons are relevant to their situation. <\/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\"><span class=\"_richTextNode\">Additionally, to further improve pan and zoom interactions between the two axes, I linked their <\/span><span class=\"_richTextNode\" style=\"font-style: italic\">x<\/span><span class=\"_richTextNode\"> limits together to ensure the dates always line up. I also used the <\/span><span class=\"_richTextNode\" style=\"font-family: monospace\">InteractionOptions<\/span><span class=\"_richTextNode\"> property of the axes to limit panning and zooming to the <\/span><span class=\"_richTextNode\" style=\"font-style: italic\">x<\/span><span class=\"_richTextNode\"> dimension so that I could explore the data for different time periods but keep the <\/span><span class=\"_richTextNode\" style=\"font-style: italic\">y<\/span><span class=\"_richTextNode\"> limits unchanged.<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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\">tl = tiledlayout;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">sharedToolbar = axtoolbar(tl,{<span style=\"color: #a709f5\">\"pan\"<\/span>,<span style=\"color: #a709f5\">\"zoom\"<\/span>,<span style=\"color: #a709f5\">\"export\"<\/span>});<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">a1 = nexttile;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">a2 = nexttile;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\"><\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">linkaxes([a1 a2],<span style=\"color: #a709f5\">\"x\"<\/span>);<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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\">a1.InteractionOptions.LimitsDimensions = <span style=\"color: #a709f5\">\"x\"<\/span>;<\/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\">a2.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\"><img decoding=\"async\" loading=\"lazy\" width=\"466\" height=\"401\" class=\"size-full wp-image-3705 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_6.png\" alt=\"\" \/><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Remove a toolbar<\/span><\/h2>\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 class=\"_richTextNode\">After drinking a bunch of boba, I got curious about how ratings varied between shops and decided to add a histogram. There's no need to have any interactions besides data tips on this histogram, so I set data tips as the only allowed <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/ref\/matlab.graphics.axis.axes-properties.html#mw_47799534-2873-48d7-9bf9-2a8f239d9ecb\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">interaction<\/span><\/a><span class=\"_richTextNode\"> and <\/span><span class=\"_richTextNode\" style=\"font-weight: bold\">completely removed the axes toolbar<\/span><span class=\"_richTextNode\"> to visually tidy things up and slightly boost my tool's startup time.<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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 = gca;<\/div>\n<\/div>\n<div class=\"inlineWrapper\">\n<div style=\"border-radius: 0px;padding: 0px 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.Interactions = dataTipInteraction;<\/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.Toolbar = [];<\/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\"><img decoding=\"async\" class=\" wp-image-3706 alignnone\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/04\/26aAxesToolbar_7.png\" alt=\"\" width=\"100%\" \/><\/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 class=\"_richTextNode\">To learn more about customizing and optimizing interactions, check out Will's <\/span><a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/01\/14\/introducing-new-interactions-system-in-matlab-r2025a\/\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">article about the new interactions system<\/span><\/a><span class=\"_richTextNode\">.<\/span><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Pin a toolbar to the figure<\/span><\/h2>\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 class=\"_richTextNode\">Finally, what if I fell in love with one particular bubble tea and couldn't stop thinking about it? To capture my favorite bubble tea of all time, I created a 3D model so that I could remember every detail of the experience. I enabled camera interactions on my model, like those used in world-building charts, so my axes changes size as I interact. After enabling orbit mode in the <\/span><a href=\"https:\/\/www.mathworks.com\/help\/matlab\/creating_plots\/view-control-with-the-camera-toolbar.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">camera tab<\/span><\/a><span class=\"_richTextNode\"> of the figure's toolstrip, I <\/span><span class=\"_richTextNode\" style=\"font-weight: bold\">pinned the axes toolbar to the edge of the figure<\/span><span class=\"_richTextNode\"> using the new <\/span><span class=\"_richTextNode\" style=\"font-family: monospace\">ToolbarLocation<\/span><span class=\"_richTextNode\"> property so I could always find it in a consistent location and it's not bouncing around with the axes.<\/span><\/div>\n<div style=\"background-color: #f5f5f5;margin: 10px 0 10px 0\">\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 = gca;<\/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.ToolbarLocation = <span style=\"color: #a709f5\">\"container\"<\/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\"><\/div>\n<\/div>\n<table style=\"width: 100%;margin: 3px;border-collapse: collapse\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top;width: 50%\">\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=\"6394209886112\" 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;width: 50%\">\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=\"6394211737112\" 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;width: 50%\">\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\">Default location (relative to axes)<\/div>\n<\/td>\n<td style=\"vertical-align: top;width: 50%\">\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\">Custom location (relative to figure)<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\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\"><em><span class=\"_richTextNode\">Note: This \"container\" location is only intended to host the toolbar of one axes.<\/span><\/em><\/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\"><\/div>\n<h2 style=\"margin: 20px 10px 5px 4px;padding: 0px;line-height: 25px;min-height: 0px;font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif;font-style: normal;font-size: 20px;font-weight: bold;text-align: left\"><span class=\"_richTextNode\">Wrap up<\/span><\/h2>\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 class=\"_richTextNode\">That's probably enough bubble tea for one day! I hope these tips help you get the most out of the updated, more accessible, and modern version of the axes toolbar.<\/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\"><span class=\"_richTextNode\">If you're interested in taking a closer look at any of the bubble tea related code, check out these files available in <a href=\"https:\/\/github.com\/MATLAB-Graphics-and-App-Building\/matlab-gaab-blog-2026\/tree\/5edde6c30fcc2f7b8a0580c3b7a4fc7b05718817\/PersistentAxesToolbar\" target=\"_blank\" rel=\"noopener\">our repository<\/a>:<\/span><\/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\"><span class=\"_richTextNode\">\"Bubble Tea app.m\" (along with the icons and data files)<\/span><\/li>\n<li style=\"margin-left: 56px;line-height: 21px;min-height: 0px;text-align: left\"><span class=\"_richTextNode\">\"3D boba model.m\"<\/span><\/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\"><\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<p><script type=\"text\/javascript\">\n{ let css = '._richTextNode {white-space: break-spaces;}';\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\/04\/26aAxesToolbar_0.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div>\n<p>Guest Writer: Jessa Karlberg<br \/>\nJessa is a software engineer on the Graphics Interactions and Accessibility team at MathWorks. After years of creating her own charts and data visualizations, she now... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/05\/04\/an-accessible-modern-axes-toolbar\/\">read more >><\/a><\/p>\n","protected":false},"author":198,"featured_media":3710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,14,11,2,20],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3699"}],"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=3699"}],"version-history":[{"count":28,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3699\/revisions"}],"predecessor-version":[{"id":3737,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3699\/revisions\/3737"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media\/3710"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media?parent=3699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/categories?post=3699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/tags?post=3699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}