MATLAB Schemer makes it easy to change the color scheme (a.k.a. theme) of the MATLAB display and GUI.
You can use Schemer to import a predefined color scheme, transfer your color settings between installations, or create your own color scheme.
The MATLAB interface has customisable colours for displaying text and highlighting syntax, but no way to easily export these settings and share them with others users, or import them to other machines. In fact, the vast majority of users do not even know the colour settings can be customised at all. Furthermore, MATLAB ships with a light color scheme by default, so any user who wishes to use a dark theme must completely change all the colours. Designing an effective color scheme is not trivial, so it makes sense for users to simply import a pre-made color scheme instead of having to make one from scratch.
Schemer makes this easy. Color schemes can be imported by running `schemer_import` at the MATLAB command prompt, without needing any inputs. This will open a GUI to select the file to import the color scheme from.
Schemer comes with a collection of 11 color schemes to pick from:
- Dark Steel
- Solarized Dark
- Solarized Light
- and the original, default MATLAB scheme, which can be restored as needed.
You can view samples of the color schemes here:
If you find a bug in the code, please report it by creating an issue on GitHub:
If you want to share a color scheme/theme you have created, please issue a pull request to the daughter repository containing just the color schemes:
Scott Lowe (2020). MATLAB Schemer (https://www.github.com/scottclowe/matlab-schemer), GitHub. Retrieved .
Quick and easy to use. It even works on the R2020a prerelease!
Until a native dark mode is available, this is an eye saver.
@Peter Scott Changing the default background of a plot is outside the scope of this package. You can find the answer here: https://www.mathworks.com/matlabcentral/answers/96816-how-do-i-change-the-default-background-color-of-all-figure-objects-created-in-matlab
set(0, 'DefaultFigureColor', [1, .8, .8])
set(0, 'DefaultAxesColor', [.4, .6, .8])
How do i change the default background of a plot.
Unfortunately, it is not possible to change the Toolbar color scheme of MATLAB on any OS.
Question: how to make the Toolbar color scheme follow the Schemer? I'm working on an Apple MacBook Air MacOs Mojave 10.14.6
Perfect. Color schemes should be a standard feature, but this is a great substitute.
Its a typical Redmond-fail (i.e, Microsoft's habit of pushing half-finished dreck), but on Windows folks will notice that none of the toolbars, menubars etc change to adapt to the broad theme.
That's on MSFT's third-decile coders, and is not the fault of the contributor: I have a dark Windows theme, and browser bars & menus all adapt, but JetBrains IDEs, Geany, MATLAB, and Office have the hated white/light-grey livery unless I specifically alter their characteristics.
Great submission. It made my Matlab much more comfortable to use.
my eyes said thanks
For anyone who doesn't know how to import the themes, make sure first that the folder you unzipped is in your MATLAB path. You can add it to your path in Home>Set Path option.
Excellent submission! Would it be possible to have an Atom-like theme?
@Kuo Yang: click the big blue "Download" button (top of the page). Unzip the file onto your MATLAB path (e.g. your current directory).
I type schemer_import in the command prompt... not work at all... it shows undefined function or variable... could you please tell me what to do?
If I could, I would give this ten stars.
does anyone knows how to install the themes?
Works perfect :D
Excellent Work. Works very well. Thanks.
An illuminating submission which is a *must* for any regular MATLAB user.
Would be nice if it also included Zenburn, but the inbuilt schemes are thoughtfully selected.
Great work on this, thanks.
VERY GOOD THANKS !!!!!!!!!!!!
Perfectly simple tool and very efficient schemes
Many thanks from my tired eyes
Exactly what I wanted and easy to use.
That is great. Thank you!
It's good to use, thanks for your contribution.
It is a wonderful tool. However, it doesn't apply the theme to live scrupt.
Very Nice YES Baby!
This broke "doc" on my MATLAB install. I got a "Dot indexing is not supported for variables of this type." each time I tried to run doc on a command, such as:
Claims to change the GUI color (the first sentence) but doesn't. Otherwise great!
Thx!!! It's awesome!
Thanks a lot! Does exactly what it says and themes are very nice.
@Shams No need to install, just download, unpack and open in MATLAB by running schemer_import as stated in the above documentation ;)
really useful for me!!!
I'm new to MathLab.
I want to install this add-app but I do not know how to do it.
Thanks in advance
Finally there is someone who made this! I've been manually changing the theme to dark for 5 years but just didn't have the time for making this automatic... Thank you for doing this!
Hi Ngô Quang. 1. Download file. 2. Extract zip. 3. Open Matlab. 4. Navigate Matlab to the unzipped directory. 5. Run schemer_import. 6. In the dialogue box which appears, open the schemes folder. 7. Select a scheme from the list of .prf files in the schemes folder. 8. Click Open. 9. If you don't like this scheme and want to try another one or return to the default colours, repeat steps 5-9.
how to use when i have download
Thank you. This is cool.
Excelent module! Congratulations!
Great thing! Thanks!
Where should I put this file to?
While this certainly seems considerably more complicated: you think there is a way of also changing the colors of the scrollbar and other things that keep white after the schemmer is applied?
Great idea, thank You!
Great tool, very refreshing. Would love to see more schemes.
Simply great. It was definitely missing in Matlab.
Amazing. Thank you!
Wonderful, thanks mate!
great tool, thank you!
Good Job! Is there any way to change the grey color scheme of the matlab gui (borders, scrollbars, ribbon, etc).
Was looking for that for so long!
Fantastic. Thanks a lot
Thanks a lot!
Fantastic, thank you!
Hi Jake. Unfortunately at the moment it is not possible to change the colours of the borders, ribbon, etc, present in the GUI. It would indeed be nice if you could reskin the whole GUI, not just the innards of the content windows. The only suggestion I can make is if you would rather not see the Toolstrip ribbon at all you can minimise it and add some buttons to the Quick Access Toolbar to use them there instead.
Is there any way to change the grey color scheme of the matlab gui (borders, scrollbars, ribbon, etc). Would love them dark as well.
Good work. Exactly what I was looking for.
Awesome! Absolutely Awesome!
Awesome, made some tweaks to monokai theme to suit to my taste and it is looking great, thanks a bunch!
I tried it and it's really great! Very very helpful, very easy to use. I liked the Cobalt theme the most. The community's eyes thank you!
Works like a charm, thanks a lot!
Very very good! Thank you for this amazing work.
Brilliant, thank you Scott!
wonderful. love the cobalt theme.
Hi, Initial Conditions. You can disable current line highlighting in the MATLAB Preferences within the Editor/Debugger > Display panel. To use Schemer to reset boolean settings (such as whether to highlight the current line) in addition to the colour settings, you can run schemer_import('schemes/default.prf', true).
I've reverted back to default, but I have a strang issue: the line the cursor is on is now constantly highlighted, and I can't seem to get this unhighlighted (which is the default setting). Any ideas?
Having a darker theme is soooo much better and this script made changing effortless.
Easy to use. Now I have a good way to bring my preferred Matlab color scheme with me to new computers!
Very easy to use, allowed me to share my color settings.
Great! Thank you! :)
Updates to VRML/X3DV
Add Monokai theme. Minor changes to backup colour inheritance.
Update Matrix, Dark Steel, and Solarized Light/Dark schemes.
Update Tango and Matrix schemes
Add links to color scheme screenshots.
Update schemes documentation and sources list
Updated logo to version 2.
Fixed a bug (issue #9) reported by @LoGGoL.