Change default figure properties?

109 visualizzazioni (ultimi 30 giorni)
Robert Ralich
Robert Ralich il 3 Mag 2012
Commentato: Mara Gati il 24 Apr 2022
Is there any way to change the default figure properties in MATLAB?
For example, I want all my figures to have a certain axis font size, background color, xlabel/ylabel font size, and line width. Nothing fancy, just want to change some basic default settings.
I know how to do this for each individual plot in my scripts. However, I am generating several different types of plots (plot, hist, surf, etc) and a lot of them from several different scripts.
Thanks for any help with this.
  2 Commenti
Richa  Singh
Richa Singh il 23 Gen 2021
Yes, there is.. I am using it for all my matlab figures.
set(groot,'defaultLineLineWidth',2.5)
set(0,'DefaultaxesLineWidth', 1.5)
set(0,'DefaultaxesFontSize', 14)
set(0,'DefaultaxesFontWeight', 'bold')
set(0,'DefaultTextFontSize', 14)
set(0,'DefaultaxesFontName', 'Times new Roman')
set(0,'DefaultlegendFontName', 'Times new Roman')
set(0,'defaultAxesXGrid','on')
set(0,'defaultAxesYGrid','on')
Ask Finderup
Ask Finderup il 17 Gen 2022
Do you know how to the reset those properties?

Accedi per commentare.

Risposta accettata

Geoff
Geoff il 3 Mag 2012
I don't know if there's a way to change the defaults, but you'll save a lot of work if you create a function to apply your 'default' settings to any supplied figure. Pass in a handle to that figure.
function = SetFigureDefaults( f )
% Put all your common code in here
end
That will make your code a whole lot more readable. You can hide this function in your script so that it's not visible to the outside world. That way you can take advantage of this approach in many other scripts without getting confused.
  4 Commenti
Robert Ralich
Robert Ralich il 4 Mag 2012
Got it, seems to work. I have to set all these properties in a script (.m file) and call it after every figure.
Thank you very much for your help.
Mara Gati
Mara Gati il 24 Apr 2022
Thank you!

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 4 Mag 2012
Modificato: Wendy Fullam il 4 Feb 2013
  5 Commenti
David Christhilf
David Christhilf il 29 Ago 2017
That seems to no longer work in R2017a.
I would very much like to kill the 'autoupdate' feature of 'legend' in one single global action. It seems there should be some way to set the default for the 'legend' aspect of 'plot'.
Steven Lord
Steven Lord il 29 Ago 2017
David, you asked this as a separate question and the comment you left indicates you found a solution.
Ah, I see why you said this no longer works. The URL changed for the page to which Walter link; the updated address is:
https://www.mathworks.com/help/matlab/creating_plots/default-property-values.html
Or you can search for the phrase "default property values" and that should work regardless of which release you're using. The version of that page appropriate for the release you're using should be among the first page of hits, if not the first hit.

Accedi per commentare.

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by