2017-08-28 72 views
2

我目前正在嘗試創建頻率直方圖,爲此,我必須創建條形圖間沒有空白的條形圖。但是,這將XTickLabels居中在酒吧中間。由於它是一個直方圖,我希望數值處於每個小節之間的直線上,以便它可以直觀地指示間隔。實質上,我需要將所有的刻度標籤轉移到左側。
我正在使用R2016a。如何將條形圖的XtickLabels左移?

通過Mathworks公司的展望只打開了如何做到這一點使用線圖,散點圖,答案等

回答

4

使用的barStyle參數將其設置爲histc

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

這給:

out


此外,如果你有興趣,你可以改變direction of tick marks向外有:

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

您是否嘗試過使用set命令。例如:

%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) 

我想谷歌的問題,發現這個答案直接在這裏: XTick labels and Stacking in bar plot

+0

您需要'-0.4'在此偏移「BarWidth」的默認值。一般來說,您還需要知道「BarWidth」,並相應地設置偏移量。 –

+0

你是完全正確的,我想我留下這部分是自己想出來的。很好的回答 – Irreducible

0

有,爲什麼你不只是使用hist或較新的histogram理由嗎?使用edit hist調查hist的源代碼我發現他們只是使用bar'hist'選項。事情是這樣的:

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

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

給人

enter image description here

您可以檢查代碼histogram以及看他們怎麼有這樣做,但它涉及到一個小的舉動。

+0

好的,我會添加一個對'直方圖'的引用。 – chthonicdaemon

+0

'minmax'需要神經網絡工具箱。使用簡單的'min'和'max'代替 –

+0

當我最初嘗試這樣做時,我正在嘗試使用直方圖,但條形圖之間始終存在大量空白,並且我無法弄清楚如何更改邊界以及數學運算教程沒有幫助我,所以我決定只是用它來簡化它 –

相關問題