{"id":3612,"date":"2026-01-27T09:51:52","date_gmt":"2026-01-27T14:51:52","guid":{"rendered":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/?p=3612"},"modified":"2026-01-27T09:51:52","modified_gmt":"2026-01-27T14:51:52","slug":"2025-year-in-review-graphics-and-app-building","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/01\/27\/2025-year-in-review-graphics-and-app-building\/","title":{"rendered":"2025 Year In Review: Graphics and App Building"},"content":{"rendered":"It was a big year for the MATLAB Graphics and App Building blog, from announcing a brand\u2011new WebGL\u2011based graphics system to introducing dark theme, modern figure tools, and updated app workflows. This article is a quick 2025 recap so you can quickly spot anything you might have missed and jump straight into the articles that are most relevant to your projects.\r\n\r\n<hr \/>\r\n\r\n<h2 style=\"text-align: center\"><strong>New foundations for graphics and apps<\/strong><\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"1248\" height=\"1072\" class=\"alignleft size-full wp-image-3617\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_1.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">MATLAB R2025a introduced a <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/06\/10\/introducing-the-new-graphics-and-app-building-system-in-matlab-r2025a\/\" target=\"_blank\" rel=\"noopener\">new WebGL\u2011based graphics system<\/a>, replacing the long\u2011standing Java-based renderer and enabling <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/10\/20\/webgl-matlabs-new-graphics-rendering-system\/\" target=\"_blank\" rel=\"noopener\">more robust and performant<\/a> graphics.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Friendlier figure layout and tools<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"393\" height=\"324\" class=\"alignleft size-full wp-image-3618\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_2.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">The new <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/06\/24\/introducing-the-tabbed-figure-container\/\" target=\"_blank\" rel=\"noopener\">tabbed figure container<\/a> added tiling, docking options, and flexible layouts, making it easier to compare visualizations and manage multi-figure workflows.\r\n\r\n<span style=\"font-family: inherit;font-size: inherit\">A <\/span><a style=\"font-family: inherit;font-size: inherit\" href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/06\/30\/designing-the-new-figure-toolstrip-around-user-experience\/\" target=\"_blank\" rel=\"noopener\">redesigned figure toolstrip<\/a><span style=\"font-family: inherit;font-size: inherit\"> focused on user workflows, interactive editing, and automatic code generation, making it easier to both explore data and capture reproducible code.<\/span><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Dark and light themes<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"938\" height=\"751\" class=\"alignleft size-full wp-image-3619\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_3.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\"><a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/07\/07\/dark-theme-for-plots-and-apps\/\" target=\"_blank\" rel=\"noopener\">Dark theme<\/a> arrived for charts and apps, along with a default color system that adapts to the current theme so apps and visualizations stay readable in both light and dark environments.\r\n\r\nA <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\">guide to themes<\/a> shows chart and app authors how to design for a specific theme or build experiences that adapt gracefully when the theme changes.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">New charts, new capabilities<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"402\" height=\"246\" class=\"alignleft size-full wp-image-3620\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_4.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">Articles on the new <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/01\/16\/violin-plot-a-tool-for-data-visualization\/\" target=\"_blank\" rel=\"noopener\">violin plot<\/a>, and <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/09\/30\/polar-plots-with-patches-and-surfaces-r2025a\/\" target=\"_blank\" rel=\"noopener\">patch and surface support in polar axes<\/a>, highlighted new tools to visualize complex data.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Modern app workflows<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"391\" height=\"211\" class=\"alignleft size-full wp-image-3621\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_5.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">The blog covered the evolution <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/09\/23\/goodbye-guide-hello-app-designer-evolving-your-matlab-apps\/\" target=\"_blank\" rel=\"noopener\">from GUIDE to App Designer<\/a>, and <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/08\/19\/__from-uicontrol-to-ui-components\/\" target=\"_blank\" rel=\"noopener\">from uicontrol to UI components<\/a>, helping teams modernize existing apps and design new ones that scale.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Polishing charts<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"401\" height=\"231\" class=\"alignleft size-full wp-image-3622\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_6.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">Articles on <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/05\/14\/making-even-prettier-graphs\/\" target=\"_blank\" rel=\"noopener\">making graphs prettier<\/a>, easy <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/05\/16\/labeling-bars-made-easy\/\" target=\"_blank\" rel=\"noopener\">bar labeling<\/a>, and advanced control of <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/12\/08\/advanced-control-of-size-and-layout-of-exported-graphics\/\" target=\"_blank\" rel=\"noopener\">export size and layout<\/a> focused on small, practical changes that make figures look publication\u2011ready with less effort.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Hands-on demos<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"405\" height=\"304\" class=\"alignleft size-full wp-image-3623\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_7.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">Hands-on tutorials such as the <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/08\/04\/creating-a-flight-tracking-dashboard-part-3-using-modular-application-development-principles-to-assemble-the-dashboard\/\" target=\"_blank\" rel=\"noopener\">flight tracking dashboard<\/a> and the <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/12\/18\/gift-bow\/\" target=\"_blank\" rel=\"noopener\">festive gift\u2011bow<\/a> graphics showed how to combine features into real, reusable demos that readers can adapt to their own projects.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2 style=\"text-align: center\">Casting light on advanced graphics<\/h2>\r\n<table style=\"border-collapse: collapse;width: 988px;height: 48px\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 20%;text-align: center;vertical-align: middle;padding: 8px\"><img decoding=\"async\" loading=\"lazy\" width=\"645\" height=\"507\" class=\"alignleft size-full wp-image-3624\" src=\"http:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_8.png\" alt=\"\" \/><\/td>\r\n<td style=\"width: 80%;text-align: left;vertical-align: middle;padding: 8px\">The math behind <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/03\/03\/casting-shadows\/\" target=\"_blank\" rel=\"noopener\">casting shadows<\/a> and <a href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2025\/03\/11\/casting-shadows-and-inverse-stereographic-projections\/\" target=\"_blank\" rel=\"noopener\">inverse stereographic projections<\/a> lurks in the shadows of the Graphics and App Building blog 2025 series for readers who enjoy the math behind the visuals.<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n&nbsp;\r\n\r\n<hr \/>\r\n\r\nThanks to everyone who read, shared, and commented on the blog throughout 2025. Your feedback is heard and carefully routed to the teams shaping graphics and app building projects. If this recap surfaced a few posts you missed, consider following the MATLAB Graphics and App Building blog so you\u2019ll be first to see the next round of features, tips, and demos in 2026.","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/files\/2026\/01\/2025Review_0.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><p>It was a big year for the MATLAB Graphics and App Building blog, from announcing a brand\u2011new WebGL\u2011based graphics system to introducing dark theme, modern figure tools, and updated app workflows.... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/01\/27\/2025-year-in-review-graphics-and-app-building\/\">read more >><\/a><\/p>","protected":false},"author":198,"featured_media":3629,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,14,2],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3612"}],"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=3612"}],"version-history":[{"count":10,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3612\/revisions"}],"predecessor-version":[{"id":3631,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/posts\/3612\/revisions\/3631"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media\/3629"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/media?parent=3612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/categories?post=3612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/graphics-and-apps\/wp-json\/wp\/v2\/tags?post=3612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}