Scatter plot with variable symbol size - it's not linear

3 vues (au cours des 30 derniers jours)
dormant
dormant le 4 Août 2023
Commenté : Jon le 4 Août 2023
I'm trying to use the feature in the scatter plot where the symbol size is proportional to a variable and it seems that the scaling of the symbol size is not linear.
Here is some test code and the resulting plot:
x = 1:100;
y = ones( size(x) );
scatter( x, y, 100*x, '|' );
xlim( [0 101] );
ylim( [0 2] );
Is this the expected behaviour? I need the symbol size to vary linearly with the variable.

Réponse acceptée

Jon
Jon le 4 Août 2023
Modifié(e) : Jon le 4 Août 2023
According to the documentation for scatter, the size in "points squared" units, try this
x = 1:100;
y = ones( size(x) );
scatter( x, y, x.^2,'|' );
xlim( [0 101] );
ylim( [0 2] );
  2 commentaires
dormant
dormant le 4 Août 2023
That's brilliant, many thanks!
Now I see it in the documentation.
Jon
Jon le 4 Août 2023
Your welcome. When first I read the documentation it wasn't really clear to me whether that meant I should take the square root of x, or square it. A little trial and error quickly showed squaring it was the right way to go.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by