Fonction Scilab
Last update : 8/6/2005

histplot - dessine un histogramme

### Calling Sequence

  `histplot(n, data, <opt_args>)`
  `histplot(x, data, <opt_args>)`

### Parameters

- `n`: entier strictement positif (nombre de classes)
- `x`: vecteur (strictement croissant) definissant les classes
- `data`: vecteur (contenant les données à analyser)
- `<opt_args>`: Représente une séquence de la forme `clé1=valeur1, clé2=valeur2`,... où `clé1`, `clé2,...` peut être n'importe quel paramètre optionnel de `plot2d` (`style,strf,leg, rect,nax, logflag,frameflag, axesflag`) ou encore `normalization`. Pour ce dernier la valeur correspondante est un scalaire booléen (la valeur par défaut étant %t).

### Description

Cette fonction dessine un histogramme des données contenues dans le vecteur `data` en utilisant les classes `x`. Quand le nombre de classes `n` est fourni au lieu de `x`, celles-ci sont définies de manière équirépartie et telles que x(1) = min(data) < x(2) = x(1) + dx < ... < x(n+1) = max(data) avec dx = (x(n+1)-x(1))/n.

Les classes sont définies par C1 = [x(1), x(2)] puis Ci = ] x(i), x(i+1)] pour i = 2,3,...,n. En notant Nmax le nombre total de données (Nmax = length(data)) et Ni le nombre de données se situant dans Ci, la valeur de l'histogramme pour x appartenant à Ci est égale à Ni/(Nmax (x(i+1)-x(i))) quand `normalization` est vrai (comportement par défaut) et sinon elle vaut simplement Ni. Quand l'histogramme est normalisé il vérifie la propriété suivante :

                x(n+1)
               /
               |   h(x) dx = 1,  quand x(1)<=min(data) et max(data) <= x(n+1))
               /
               x(1)

N'importe quel paramètre optionnel de `plot2d` peut être passé à histplot ; par exemple pour dessiner votre histogramme avec la couleur numéro 2 (du bleu si vous utilisez la carte des couleurs standard) tout en restreignant le dessin au le rectangle [-3,3]x[0,0.5], vous pouvez utiliser `histplot(n,data, style=2, rect=[-3,0,3,0.5])`.

La commande `histplot()` sans argument montre un example.

### Examples

    // exemple #1: variations sur l'histogramme d'un échantillon gaussien N(0,1)
    d=rand(1,10000,'normal');
    clf();histplot(20,d)
    clf();histplot(20,d,normalization=%f)
    clf();histplot(20,d,leg='rand(1,10000,''normal'')',style=5)
    clf();histplot(20,d,leg='rand(1,10000,''normal'')',style=16, rect=[-3,0,3,0.5]);

    // exemple #2: histogramme d'un échantillon de loi binomiale B(6,0.5)
    d = grand(1000,1,"bin", 6, 0.5);
    c = linspace(-0.5,6.5,8);
    xbasc()
    subplot(2,1,1)
       histplot(c, d, style=2)
       xtitle("l''histogramme normalisé")
    subplot(2,1,2)
       histplot(c, d, normalization=%f, style=5)
       xtitle("l''histogramme non normalisé")

    // exemple #3: histogramme d'un échantillon de loi exponentielle E(lambda)
    lambda = 2;
    X = grand(100000,1,"exp", 1/lambda);
    Xmax = max(X);
    xbasc()
    histplot(40, X, style=2)
    x = linspace(0,max(Xmax),100)';
    plot2d(x,lambda*exp(-lambda*x),strf="000",style=5)
    legend(["histogramme d''un échantillon E(lambda)" "densité exacte"]);
    // Rmq: si vous utilisez l'ancien mode graphique, la légende peut s'obtenir avec :
    // legends(["histogramme d''un échantillon E(lambda)" "densité exacte"],[2 5],"ur");

### See Also

`hist3d`, `plot2d`, `dsearch`,