Defining a simple function with text/string 'on'

1 view (last 30 days)
Niklas Kurz
Niklas Kurz on 18 May 2021
Commented: Stephen on 21 May 2021
The Idea I'm thinking about really is simple and actually just for getting used to 'functions'
My Code is just based on:
ax = gca
ax.GridColor = [1, 1, 1];
set(ax,'color','k')
I can actually copy it in any script wher plots are included for getting a dark background. But it just strikes me as it would be easier for such things to have a simple command like grid on
So maybe you see where I am getting at: I want a function like
darkmode('Color',[1,1,1])
or simply
darkmode on
as short-cut for the code above.
It's not a huge reduction, but I could actually draw a lot of the mechanism.

Accepted Answer

David Hill
David Hill on 18 May 2021
function darkmode(a)
gca;
if a
ans.GridColor = [1, 1, 1];
set(ans,'color','k');
else
ans.GridColor = [.15,.15,.15];
set(ans,'color','w');
end
  1 Comment
Stephen
Stephen on 21 May 2021
It is not considered good MATLAB practice to rely on ans like that. Better to obtain the output explicitly:
function darkmode(a)
axh = gca;
if a
axh.GridColor = [1, 1, 1];
set(axh,'color','k');
else
axh.GridColor = [.15,.15,.15];
set(axh,'color','w');
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!