Tengo un vector que quiero imprimir un histograma de los datos para. Este rangos de datos de -100 a +100. La cantidad de datos alrededor de los bordes exteriores es insignificante y por lo tanto yo no la quiero ver. Yo estoy más interesado en mostrar los datos de -20 a +20.

1.) ¿Cómo puedo limitar esa ventana para imprimir en mi histograma?

La cantidad de datos que tengo en 0 ya supera a la cantidad de datos que tengo en cualquier lugar en el conjunto de datos por un mínimo de 10:1. Cuando imprimo el histograma, el diseño de elemento de frecuencia se pierde porque es superados en número por 0.

2.) Es allí una manera de que yo pueda incrementar el número de valores 0 a tres veces el número de -1 entradas?

Estoy en la espera de una caída exponencial de este conjunto de datos (en general) y, por tanto, tres veces la frecuencia de -1 fácilmente me permite ver la frecuencia de los datos.

InformationsquelleAutor Andy | 2012-02-03

4 Comentarios

  1. 1

    1) puede limitar el histograma rango que ver en la trama de establecer los ejes X límites:

    xlim([-20 20])

    Configuración de las bandejas de la hist comando es buena, pero recuerda thatall los valores fuera de los contenedores caer en el más a la izquierda y a la derecha de reciclaje. Así que usted necesitará para establecer los ejes de los límites de todos modos.

    2) Si hay una gran diferencia entre los valores de los diferentes contenedores, es una manera de transformar los valores en los ejes Y a escala logarítmica. Desafortunadamente, la configuración de ejes Y de registro (set(gca,'YScale','log')) no funciona para el gráfico de barras. Calcular el histograma con hist o histc (dependiendo de si desea especificar las papeleras de los centros o de los bordes) y log2 los valores:

    [y, xbin] = hist(data);
    bar(xbin, log2(y) ,'hist')
  2. 2

    Usted puede usar algo como

    binCenters = -20:5:20;
    [N,X] = hist(V,binCenters);
    
    N = N./scalingVector;
    bar(X(2:end-1),N(2:end-1));

    Nota de que el código excluye a los extremos de N y X de la barra de la trama, ya que contienen el número de valores menores de -20 a más de 20. También, mediante la construcción de scalingVector adecuadamente, puede ajustar la escala de N como usted por favor.

  3. 2

    También se puede simplemente tirar de los valores fuera de la [-20,20] rango utilizando

    subsetData=data(abs(data)<=20)
  4. 0

    Histograma tiene un par de métodos diferentes de llamada. Le recomiendo que lea la documentación de la función (doc hist)

    Lo que se busca es poner en un rango personalizado en el histograma de reciclaje. Depende un poco de cómo muchos compartimientos que usted quiere que, pero algo como esto funciona.

    Data=randn(1000,1)*20;
    hist(Data,-20:20);

    Usted puede, si lo desea, cambiar la frecuencia de la binning así. También puede cambiar el eje, de manera que solamente se concentra en el rango de -20 a 20, utilizando un x-eje([-20 20]) comando. Usted también podría ignorar el bin a 0, mediante el uso de un eje y la limitación de los valores a excluir el 0 de reciclaje. Sin saber exactamente qué quieres, sólo puedo dar sugerencias.

Dejar respuesta

Please enter your comment!
Please enter your name here