簡體   English   中英

如何在Matlab中減小直方圖上條形的寬度

[英]How do I reduce the width of bars on histogram in Matlab

到目前為止,我有這個;

Disp_X = X - mean(X);
hist(Disp_X);
h = hist(Disp_X); 

h.BinWidth = 0.001; 

h.BinWidth之前工作使我的酒吧更窄,但現在我收到此錯誤消息;

“對非結構數組對象的字段賦值。”

我真的不明白為什么以前沒有發生這種情況,現在確實如此。

我試圖將兩個直方圖繪制到一個圖上也有一些問題。 我在x和y中都有距離平均值的頻率,並且希望它們在同一圖表上繪制。

您想要的命令是histogram not hist hist是繪制輸出的舊直方圖。 該功能的輸出是箱的計數和中心。 histogram的輸出是直方圖對象。

X = rand(1000,1);
Disp_X = X - mean(X);
h = histogram(Disp_X);
h.BinWidth = 0.001;

然后添加另一個直方圖。

hold on
Y = rand(1000,1);
Dy = Y - mean(Y);
h2 = histogram(Dy);

如果您使用R2014b或更高版本,當引入histogram時,Matt的答案是正確的。 如果您使用的是舊版本,則無法使用點表示法並且必須使用set

Disp_X = X - mean(X);
hist(Disp_X);
h = hist(Disp_X); 

set(h, 'BinWidth', 0.001); 

其他兩個答案都是正確的,但最簡單的選擇是在調用函數時設置此屬性:

histogram(Disp_X,'BinWidth',0.001)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM