Pregunta

Me gustaría construir un histograma con los compartimientos desiguales (intervalos) .. Matlab constructo solamente histogramas con igualdad de contenedores como si es un diagrama .. !!!

Por favor, ayúdame ... muchas gracias !!

¿Fue útil?

Solución

Este es un ejemplo:

x = randn(100,1)*3;           %# some random data
e = [-10 -5 -3 -1 1 2 3 20];  %# edges of intervals:  e(i) <= x < end(i+1)
c = histc(x,e);               %# get count in each interval
bar(e, c, 'histc')            %# bar plot
set(gca, 'xlim',[e(1) e(end)])

de salida

Otros consejos

2 soluciones:

  1. Especificar bin centros con el Segundo argumento para hist .
  2. Especificar bin Bordes con la el segundo argumento para histc . Esta función toma un poco más lejos procesamiento, ya que no hace generar el gráfico directamente - seguimiento el enlace de un ejemplo de uso.

Se puede construir su propia herramienta de histograma para crear un histograma a medida que lo desee.

  • Uso histc para determinar qué contenedores cada punto cae dentro.

  • A continuación, utilice accumArray para contar el número de elementos en cada bin.

  • A continuación, barra de uso para dibujar las barras de sus anchos elegidos. O simplemente crear Los parches de los tamaños dados. El uso de parches para eso.

O, más simplemente, el uso justo hist.

hist(rand(1000,1),[0 .1 .3 .6 1])
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top