File Exchange

image thumbnail

Build a Modern Dashboard Today

version 11.2 (829 KB) by AJ Geiger
Huge Improvements, check out whats new, and view the video! -- Alex G


Updated 17 Apr 2018

View Version History

View License

Author: Alex Geiger
Coming out with a new US census API come check it out!

If you have been looking to create a modern GUI you have found exactly what you are looking for. The toolbox comes equipt with 30+ new features and graphical objects. Enjoy!!
Looking to expand your staff? Don't wait! Interviews are filling up fast!
Locked in on current contracts until this Fall.

you may reach me at 585-626-2965 or

Documentation: View Documentation

【Important Note】
To bring your custom built graphical interface to life all you need is to use is just two functions. Make sure to check out the documentation in conjunction with the script Example_Program.m to help you get started. However feel free to look through all the objects and functions! Good luck getting started on your journey.

【The Vision】
The toolbox provides an interactive experience to visualize data, extract features and build predictive models. The objective is to automate aspects of the feature engineering optimize predictive model performance. My goal is I'm the employee you want working for you. If you are interested in expanding your staff email me at

Will be posting feature extraction classes let me know which one you want me to integrate first!!

【Other Works Used】
Yair M. Altman who you may reach by email at for creating the findjobj.m Function. The function allowed me to create a search bar with round edges. For more information on his work, please visit,

Functions in folder however never really used.
Zohar Bar-Yehuda: plot_google_map

【Major Improvements】
- Built-in editbox references to allow them to disappear when are interfacing with the context menu.
- updated the default table when you switch between data types through the context menu
- new graphs are present but muted. these include factor analysis, histograms and more

Cite As

AJ Geiger (2021). Build a Modern Dashboard Today (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (41)

Rasmus Koefoed

Seems the documentation is gone. I haven't had any luck finding a different place. If anyone knows if it still exists somewhere I would like to know.

Pierre Harouimi

ginna rizzo

Works good!

AJ Geiger

I am sorry to hear that,

May you send me the information of the error to my email and I will try to get back to you as soon as possible with a solution to correct for this. To the best of my knowledge you should not need any outside toolboxes. I apologies for any inconvenience my email address is

-- Alex Geiger

Tommaso Guseo

Is it mandatory to have any matlab toolbox to run demo scripts? Matlab tells me I need image processing toolbox.

Mario Klanac


Angel Yaguana

it's so awsome! tnks!!!

AJ Geiger

Will be posting feature extraction classes let me know which one you want me to integrate first!!

AJ Geiger

Thank you, Peter,

I will give you a little background, over the summer when I was working on my big data algorithms I quickly realized that using for loops drastically reduces algorithm performance. Therefore I use logical operators to search a table and return which object the cursor is over structures. To know which page has which object, a structure is used with multiple tables. To truly understand what I am talking about checking out UIController.m

Peter Cove

Nice update!! I like how when you click on a menu box it takes you to a new page? How do you know where the which graphical object the mouse cursor is over and how does it change depending on the page you are on? You should really include that in the video.

Hunter Westen

Please upload the Modern Toolbox X toolbox!

Hunter Westen

Hunter Westen

Great toolbox!!!

AJ Geiger

Hey Chris,

Answered Questions:
1. Data can flow from the Axeso to a table however the method has not yet been implemented if you wish to feel free to do it. First, let us say you are passing data from a Table Tree object named A, to an Axeso object named B. instead of passing all the data you pass a transmitter or a reference to the data in object A. The reference saves memory and allows for real-time data to be streamed to the object B. To transfer data between tables.
1. make sure the data you are sending to does not object A. (to save memory)
2. In the abstract class DBTree, find the function getData in the method Data Transmitting.
3. Reference addData in the UITree.
4. Note there may be additional logic to ensure optimal results.

2. Info table is a table which has 4 fields '{id','fields','type','data_type'}.
id -- is the id of the node graphical object which is a tree node, button, search bar or anything else.
fields -- are the field name of the data such that they can be accessed for search functions.
type -- informs algorithms if the data is stored in the table or is a reference to data in another table.
data_type -- lets the algorithms know the data type when merging data.

3. Nice! yes, it is. I would just switch out the settings icon and hook up a callback to it which should be dynamic property in the class which generates it.

If you have any trouble feel free to email me anytime and I will be happy to get back to you as quickly as possible.

Chris Lantens

@Alex: Thank you for the M-Files the code has much potential! I have a few problems though, why am I not able to move data from an Axeso back to a table? Also, how I looked in and I saw a property in DBTree called InfoTable what is that? I hate to be annoying, I looked through your table class and saw you have a search method already how may I integrate the function into the class?


@Alex: Thank you for posting the M-files. This is a massive boost for the usability of this submissions!

AJ Geiger

Hey Jan,

Thank you for your feedback. I took you up on your advice and posted non-P Code, hope you enjoy looking through it! (check out the UITree class). The online documentation does need a bit of fixing up. in the meantime, it should be used in conjunction with the script: Example_Program.m to help you learn how to effectively use the toolbox.

In terms of productivity, the toolbox offers functionality not present in Matlab's GUIDE or APP based components, such as drag and drop data to plots, interface tables, and more. In the most current version Modern Toolbox X the code offers cloud-based computing and storage solutions, feature extraction in Axeso, and can handle categorical data. The release date is unknown and will be dependent on how much traction I can get with Modern Toolbox III.

-- Alex Geiger


@Alexander Geiger: You have voted 5 stars 3 times for your own submission? Awkward. This is a bad idea if you are looking for an employment.

Unfortunately you post P-coded files only and for security reasons I do not run foreign P-code on productive machines. Therefore this might create nice GUIs, but I will not run it. The problem of P-file has been mentioned repeatedly, but you do not react to this argument.

The documentation is lean. Some M-files contain useless help sections only like "% UNTITLED Summary of this class goes here % Detailed explanation goes here" or:

% Tables Derived in Axeso
% graphTbl - 'id','field','visible','type'
% ScrollTbl - 'tag','pos','property'

This does not allow to reconsider, what the functions do. Together with the P-coding this decreases the usability substantially. M-files containing a standard documentation, which supports the help command, would be much better.

The example is based on GUIDE? The first advantage I need from a GUI toolbox is to be independent from GUIDE. I'd need a powerful UITREE and UITABLE object, but digging in the documentation and on your web page, I was not able to find out, which features this toolbox offers exactly.

It seems like you have included Jeremy Scheff's parfor_progress.m taken from without mentioning the author. Note that the BSD license requires to include the license file when you redistribute it. What's about deploypcode?

In fact the created GUI looks more modern than the standard GUI created by Matlab - like a blend of Windows 8 tiles and LCARS (the OS of Star Trek TNG). It has a really great potential. But currently I do not see, how it could be used in productive code. It is hard for me to translate this to a rating in stars. So I stay at: "It is nice"

AJ Geiger

Along with posting new videos, I will be adding a ton of new features to the toolbox. Enjoy!

Song-Ying Lee

JJ Gibs

This is really a remarkable toolbox. I have been using it for over a week now and am just blown away by the elegant control design. There is a lot of room for improvement and if the code says anything I am more than positive it will do just that. I am excited to see what you do next. Great work. Keep it up.

AJ Geiger

Coming out with a new toolbox package that will add an incredible amount of features new features to the GUI platform for data visualization.

Alexander Geiger

Alexander Geiger

AJ Geiger

Hey Jason!

Will do. Thank you for the donation! You're the best.

-- Alex Geiger

Peter Cove

Modern is an understatement. This is just what I needed. Completely blows what Matlab offers out of the water. The documentation was helpful too. Nice job!

Jason Hanson

Very polished the slide bar is a nice touch, Great job this will surely be on my watchlist. Keep up the excellent work. I donated as well hope it helps!

Yong Da

Rob Campbell

...[sorry pressed return early]
there is also some slightly odd rendering going around the top right edit box. Try it on a bunch of different platforms and screen sizes. You might also want to include more examples. Start really basic and work up.

Jordane K. McCalla

Has potential but as Rob, Gregor and Yair are saying,
1) p-code type file (m file types are definitely more generic, as a matter of fact, that is too explicit of a case to be ignored)
2) That laggy behaviour of the cursor, i'm sure in the future updates but until then, i have to speak to it
3) Im sure you know this one ... Promotion is a no no .. Not in that manner anyway ...

Much potential ! . Love the appearance and the overall feel. I'll definitely be using in the future BUT! only after you do your fixes.
I like the idea !

Rob Campbell

It's not behaving like a normal drag and drop. There you click and whatever you clicked on is dragged for as long as the mouse is pressed down. In your GUI (at least on OS X) I single-click (i.e. click and release) then then the blue box follows the mouse cursor around is hard to get rid of. There are also some odd

AJ Geiger

Dear Rob,

It follows the cursor around because its drag and drop menu..

-- Alex Geiger

AJ Geiger

Hey Gregor,

How may I modify my code such that it may be integrated into your environment with ease? I am working on new features to add to the next toolbox update and would be happy to make the adjustments. For documentation on how to optimally integrate the toolbox into your environment, please visit the following link below. And if you have any questions feel free to email me at, I look forward to hearing back from you.

-- Alex Geiger

Gregor Lehmiller

This GUIs look promising and sharp - unfortunately, p-code files cannot be integrated into the environment that I use. I would love it if you would replace those with standard .m files.

Siddharth Subramanian

AJ Geiger

I agree on its potential. The code is all there to make any graphical user interfaces look even better. I plan on adding new features, and new UI controls. I believe there is some real value and I am looking forward to working with Matlab to make that happen. I am a broke college student, this code, and a dream is all I got.

Yair Altman

Very polished-looking GUI indeed. I think it has lots of potential. I like the way that you achieved this look using standard graphic (axes) elements, without needing to use any uicontrol, except for the editbox (which can also be simulated using graphic elements if you think about it. Then the toolbox would not need to use findjobj and would also be more likely to be supported in future Matlab releases (including web-based uifigures).

However, I will not rate this submission until you fix the following issues with your submission, which go against File Exchange rules:
1) Remove what appears to be a self-promotional rating by "Alexander Geiger"
2) Replace the p-coded files with their corresponding m-files source files

p.s. thanks for the shoutout...

AJ Geiger

Run DemoFigure to open the GUI as seen in the photo

Alexander Geiger

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

Factor Analysis Class & Demo/

General Functions/Core Functions/Logical Functions/Binary Functions/

General Functions/Core Functions/Logical Functions/Logical Functions/

General Functions/Core Functions/Logical Functions/Logical Isa Methods/

General Functions/Core Functions/a_Prime Functions/

General Functions/Core Functions/a_Specialized Functions/

General Functions/Core Functions/z_Interface Functions/

General Functions/Core Functions/z_Join Undated/

General Functions/UI Configure Functions/

General Functions/child structure functions/

General Functions/picture and gui obj functions/

Interface Objects/aUI Axes/

Interface Objects/aUI Controls/

Interface Objects/aUI Menu/

Interface Objects/aUI Pannel/

Interface Objects/aUI Pie/

Interface Objects/aUI Tree Menu/

Interface Objects/aUI tableo/

Interface Objects/aUniversial UIs/

Script Sheet Example/

Script Sheet Example/function and GUI/

a a_UI Functions/

a_Super Functions/