Why does the marker size change randomly?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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]);
hold(axes1,'all');
% Create scatter
H = plot(X1,Y1,'MarkerFaceColor',[1 1 1],'MarkerEdgeColor',[1 1 1],...
'MarkerSize',2,...
'Marker','o',...
'LineStyle','none');
end
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 Commento
Sara
il 6 Ago 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>)
Risposta accettata
Supreeth Subbaraya
il 6 Ago 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.
get(gcf,'renderer')
You can find more information about the renderers here. You can set the renderer by using the command,
set(gcf,'renderer','painters');
You can now see that the marker size would not change randomly.
1 Commento
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Scatter Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!