Clear Filters
Clear Filters

Different ways of specifying arguments in build-in Matlab commands

2 views (last 30 days)
Hi,
I have got a quick questions, it probably a really stupid one but I just can't grasp my head around it... In Matlab it seems that it is possible to call a build-in matlab command with arguments in two different ways. The first one is just by sepcifiying the arguments in the functions
scatter(x,y,sz,'d')
The second method is by using strings to kind of 'announce' to the function that the necessary arguments are coming
scatter(x,y,sz,'MarkerEdgeColor',[0 .5 .5],...
'MarkerFaceColor',[0 .7 .7],...
'LineWidth',1.5)
Why is it not possible to just do
scatter(x,y,sz,[0 .5 .5],[0 .7 .7],1.5)

Accepted Answer

Walter Roberson
Walter Roberson on 23 Jan 2019
Because
scatter(x, y, sz, 'LineWidth', 1.5, 'MarkerFaceColor', [0 .7 .7], 'Parent', gca, 'MarkerEdgeColor',[0 .5 .5])
is also valid. Name/Value pairs can occur in any order, and are (often) optional, so scatter would have no way of knowing that
scatter(x,y,sz,[0 .5 .5],[0 .7 .7],1.5)
was not intended to mean
scatter(x, y, sz, 'MarkerFaceColor', [0 0.5 0.5], 'MarkeEdgeColor', [0 0.7 0.7], 'Parent', 1.5)
  5 Comments
Walter Roberson
Walter Roberson on 1 Feb 2019
properties matlab.graphics.chart.primitive.Line
properties matlab.graphics.chart.primitive.Bar
bp = ?matlab.graphics.chart.primitive.Bar;
sortrows(char({bp.PropertyList.Name}))
sortrows(char({bp.PropertyList([bp.PropertyList.Hidden]).Name}))

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!