Wie ungleiche Breite Histogramme mit Matlab zu konstruieren?
Frage
Ich möchte ein Histogramm mit ungleichen Bins (Intervalle) konstruieren .. Matlab Konstrukt Histogramme nur mit gleichen Behältern, als ob es ein Diagramm ist .. !!!
Bitte helfen Sie mir ... vielen Dank !!
Lösung
Hier ist ein Beispiel:
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)])
Andere Tipps
Sie können Ihr eigenes Histogramm-Tool bauen ein eigenes Histogramm zu erstellen, wie Sie möchten.
-
histc zu bestimmen, welche Behälter jeder Punkt fällt hinein.
-
Dann nutzen accumarray, um die Anzahl der Elemente in jedem Fach zu zählen.
-
Dann nutzen bar bars Ihrer ausgewählten Breiten zu zeichnen. Oder einfach erstellen Patches der angegebenen Größen. Verwenden Patch für das.
Oder einfacher, nur Gebrauch hist.
hist(rand(1000,1),[0 .1 .3 .6 1])
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow