Why does the marker size change randomly?

1 view (last 30 days)
I have created a function which generates a random array of 1000 white dots
function RandomArray
%generate random points for X and Y coordinates of the points
X1 = rand(1000,1);
Y1 = rand(1000,1);
% Create axes
axes1 = axes('Color',[0 0 0]);
% Create scatter
H = plot(X1,Y1,'MarkerFaceColor',[1 1 1],'MarkerEdgeColor',[1 1 1],...
As you can see, there is no figure created as part of the function. This means that whenever I type "RandomArray" into the command window, the current figure is used. I have found that when I type RandomArray once, twice and then three times, on the third time, the marker size suddenly decreases, and then remains smaller if I continue to repeat the function. This does not occur when a new figure is created each time as part of the function. Please could someone tell me why this might be? Thanks
  1 Comment
Sara on 6 Aug 2014
If you change the marker type to square, it won't change size with iteration...but I don't know why.
In another answer someone posted: "The circle marker size appears to be the number of points in the diameter. For the other markers, it is not so clear." (<http://www.mathworks.com/matlabcentral/answers/44917-how-is-the-markersize-of-a-circle-marker-defined>)

Sign in to comment.

Accepted Answer

Supreeth Subbaraya
Supreeth Subbaraya on 6 Aug 2014
This is happening because your renderer is changing from painters to zbuffer. You can check this by putting the following line in your code and debugging.
You can find more information about the renderers here. You can set the renderer by using the command,
You can now see that the marker size would not change randomly.
  1 Comment
Sara on 6 Aug 2014
Is there any advantage in using a different renderer?

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!