How to create curve in a plot scatter figure?

7 visualizaciones (últimos 30 días)
Dennis Huver
Dennis Huver el 30 de Ag. de 2017
Comentada: Dennis Huver el 31 de Ag. de 2017
I am trying to create a curve in the plot, to show me density of the data(the dots). The curve needs to go up/down according to the scatter density, so that I can see where is most dense, where least and so on. I hope you get the picture. Thanks

Respuesta aceptada

Steven Lord
Steven Lord el 30 de Ag. de 2017
Use histcounts to count how much data is located in each bin along the X axis. Use the counts and edges in creating your plot. Alternately, use histogram with 'DisplayStyle', 'stairs'.
  3 comentarios
Dennis Huver
Dennis Huver el 31 de Ag. de 2017
Hey Steven, histogram thing worked. But is there a way to use curve instead of stairs? Thanks!
Dennis Huver
Dennis Huver el 31 de Ag. de 2017
found a way from another answer. N = histcounts(X, edges); centers = (edges(1:end-1) + edges(2:end))/2; plot(centers, N) works like a charm. if there is more elegant way, let me know. THanks again for the tip! :)

Iniciar sesión para comentar.

Más respuestas (1)

José-Luis
José-Luis el 31 de Ag. de 2017
Editada: José-Luis el 31 de Ag. de 2017
Convoluted way just to avoid repeating Steven's answer:
data = randn(5000,2); %First column xData, second column yData
[f,x] = ecdf(data(:,2));
[n,c] = ecdfhist(f,x,200);
x_val = linspace(min(data(:,1)),max(data(:,1)),200);
plot(data(:,1),data(:,2),'k.','LineWidth', 2);
hold on;
plot(c,n.*3,'r--')

Categorías

Más información sobre Scatter Plots en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by