2017-08-28 2 views
2

Ich versuche gerade, ein Frequenzhistogramm zu erstellen, und dazu musste ich ein Balkendiagramm erstellen, das zwischen den Balken kein Leerzeichen enthält. Dies zentriert jedoch die XTickLabels in der Mitte der Bars. Da es sich um ein Histogramm handelt, möchte ich, dass die numerischen Werte an der Linie zwischen den einzelnen Balken liegen, so dass sie Intervalle visuell anzeigen kann. Im Wesentlichen muss ich alle Zecketiketten nach links verschieben.
Ich benutze R2016a.Wie verschiebe ich die XtickLabels eines Balkendiagramms nach links?

durch Mathworks Suche drehte nur bis Antworten auf, wie dies zu tun Liniendiagramme verwenden, Streudiagramme usw.

Antwort

4

Verwenden Sie das Style Argument von bar es histc einzustellen.

v = [6 12 17 21 28 25 19 15]; 
bar(v,'histc'); 

die gibt:

out


Außerdem, wenn Sie interessiert sind, können Sie die direction of tick marks mit nach außen ändern:

set(gca,'TickDir', 'out') 
0

Haben Sie den set Befehl zu verwenden versucht. Zum Beispiel:

%create some data 
x=1:10; 
y=rand(1,10); 
%bar plot 
bar(x,y) 
%shift the x to the left 0.4 
set(gca, 'XTick', x +.4) 

Ich habe versucht, das Problem zu Google und diese Antwort gefunden direkt hier: XTick labels and Stacking in bar plot

+0

Sie benötigen '-0.4' Offset hier für den Standardwert von "BarWidth". Im Allgemeinen müssen Sie auch die '' BarWidth '' kennen und diesen Offset entsprechend einstellen. –

+0

Sie haben völlig Recht, ich dachte, ich lasse diesen Teil von sich selbst herausfinden. Große Antwort von dir – Irreducible

0

Gibt es einen Grund, warum Sie nicht nur hist oder die neuere histogram verwenden? Untersuchung des Quellcodes für hist mit edit hist Ich finde, dass sie einfach bar mit der Option 'hist' verwenden. Etwas wie folgt aus:

edges = 1:10 
binwidth = 1 
x = edges + binwidth/2 
nn = 21:30 

bar(x, nn, [min(edges), max(edges)], 'hist') 

Gibt

enter image description here

Sie können den Code für histogram auch überprüfen, um zu sehen, wie sie es dort tun, aber es ist ein wenig beteiligt bewegen.

+0

OK, ich werde einen Verweis auf 'Histogramm' hinzufügen. – chthonicdaemon

+0

'minmax' erfordert Neural Networks Toolbox. Verwenden Sie einfach "min" und "max" anstelle von –

+0

Ich habe versucht, Histogramm zu verwenden, als ich das zuerst versuchte, aber es gab immer viele Leerzeichen zwischen den Balken und ich konnte nicht herausfinden, wie Grenzen zu ändern, und die Mathworks Tutorials haben mir nicht geholfen, also habe ich mich entschieden, das einfach zu benutzen, um es zu vereinfachen. –

Verwandte Themen