Effacer les filtres
Effacer les filtres

How to Generate a Given Shaped Cluster of Data Points?

9 vues (au cours des 30 derniers jours)
Cynthia Dickerson
Cynthia Dickerson le 15 Août 2018
Réponse apportée : KSSV le 16 Août 2018
Hi,
I am trying to generate some example graphs of data with irregular distribution shapes. I want a simple scatter plot of a data cluster that looks like a "C", a cluster that looks kind of like a squished jellybean, and a cluster that has tightly clustered points on the left-hand tail and disperse points on the right hand. Is there like a drawing tool where Matlab would randomly fill the space that I pre-selected? Is there a good way to randomly make these data clusters, or do I just need to define them by hand?
Thanks, Cyndi
  1 commentaire
Adam Danz
Adam Danz le 15 Août 2018
Do you have the coordinates (x,y) that outline the shapes?

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 16 Août 2018
I would download the required shape image from google....get the boundary of the shape and generate random points inside the shape. Check the below example.
I = imread('Letter_c.svg.png') ;
I = rgb2gray(I) ;
[y,x] = find(~I) ;
idx = boundary(x,y) ;
x = x(idx) ; y = y(idx) ;
% Generate random numbers
ax = min(x) ; bx = max(x) ;
ay = min(y) ; by = max(y) ;
N = 10000 ;
xx = (bx-ax).*rand(N,1) + ax;
yy = (by-ay).*rand(N,1) + ay;
% Get points inside the C shape
idx = inpolygon(xx,yy,x,y) ;
figure
hold on
plot(x,y,'b')
plot(xx(idx),yy(idx),'.r')

Catégories

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

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by