How to use filled circles (dots) instead of empty circles in scatter plots?

Respuestas (1)

scatter(rand(1,10), rand(1,10), 'o', 'MarkerFaceColor', 'b')

5 comentarios

That's right, and there's a shortcut for it too.
scatter(rand(1,10), rand(1,10), 'filled')
What is the units of circle area given by the third parameter in scatter?
The units are whatever the default units are.
Ask for them:
u = get(groot, 'defaultFigureUnits') % >= R2014b
u = get(0, 'defaultFigureUnits')
The second will currently work in all versions.
The default marker size is:
ms = get(0, 'defaultLineMarkerSize')
To get a list of all the properties you want or might want to change, do:
f = get(0, 'factory')
The markers in scatter actually don't follow quite the same rules as the ones on the other objects.
For scatter, the units are always points squared. That means that (if your monitor is calibrated correctly) the following will produce markers which are 1 inch in diameter.
scatter(1:10, 1:10, 5184)
That's because there are 72 points in an inch, and 5,184 is 72^2.
The reason that scatter is special is because the size of the marker is representing data, rather than just being cosmetic. For that reason it was decided that it should scale with the area and not be sensitive to units.
However, as the thread Joseph referred to shows, the actual markers don't all agree on what the diameter means. This was a cosmetic adjustment that was originally done to make lines with different markers look good together when the MarkerSize properties were the same. But since scatter uses the same marker styles, it inherits this odd quirk that makes the sizing less predictable than it should be.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 26 de Mayo de 2015

Comentada:

el 27 de Mayo de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by