short way to bar plot a discretize vector?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Amit Ifrach
 el 7 de Feb. de 2023
  
    
    
    
    
    Comentada: Jan
      
      
 el 9 de Feb. de 2023
            לק"י
Hello!
I want to take a vector A, and bar plot it using specific bins (defiend by 'edges' vector). I want the plot to show the sum of values that belong to each bin. Not the number of values like histogram does.
I started to write a code:
dsc=discretize(A, edges);
barpltcll=num2cell(edges);
for i=length(edges) %this part creates cell array that holds all the sum of values that fall in the bins.
    barpltcll(2,i)=sum(A(dsc(i)))...
but I thought maybe there is shorter way to do it. I would love to know about it, like turn an option in the histogram() comamnd to show the sum of values that fell into the bin rather then the counts (number of values). :)
Thanks,
Amit.
0 comentarios
Respuesta aceptada
  Jan
      
      
 el 7 de Feb. de 2023
        A     = rand(1, 100);
edges = linspace(0, 1, 6);
dsc   = discretize(A, edges);
result = accumarray(dsc(:), A(:));  % Default function: @sum
bar(edges(1:end-1), result)
5 comentarios
  Jan
      
      
 el 9 de Feb. de 2023
				@Amit Ifrach: Thanks for the explanation. I assume I guess correctly, what "g-d" is. 
Más respuestas (0)
Ver también
Categorías
				Más información sobre Data Distribution Plots en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


