HIST 関数で描画するヒストグラムの各ビンの左右端の X 座標およびビン幅を取得することはできますか?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 25 Aug. 2015
Beantwortet: MathWorks Support Team
am 25 Aug. 2015
HIST 関数でヒストグラムを描画しています。HIST 関数では、出力として各ビンの中心座標を取得することができますが、各ビンの左端と右端の X 座標を取得する方法、また、ビンの幅を取得する方法を教えてください。
Akzeptierte Antwort
MathWorks Support Team
am 6 Jul. 2018
既存の機能としてはありませんが、ヒストグラムを描画している Patch オブジェクトからその描画位置を取得することで、ビンの両端の X 座標、およびその幅を計算することができます。
data = randn(1000,1);
% xcenters = -4:4;
% ヒストグラムの描画
figure
hist(data)
% hist(data,xcenters) % ビンの中心を指定した場合も可能
% Patch オブジェクトの描画情報取得
handle = get(get(gca,'children'));
b_left = handle.XData(1,:) % 各ビンの左端の座標
b_right = handle.XData(3,:) % 各ビンの右端の座標
b_width = b_right-b_left % ビン幅(幅は統一されているため、同じ値のベクトル)
なお、MATLAB8.4(R2014b)以降のリリースでは、ヒストグラムの表示や各種プロパティへのアクセスが可能な HISTOGRAM 関数を使用することができます。この関数を使用すると、ヒストグラムのプロパティから値を直接得ることができます。
% HISTOGRAM関数を使用した例
figure
h = histogram(data) % ヒストグラムの描画とオブジェクト取得
b_edge = h.BinEdges % 各ビンのエッジ座標(ベクトル)
b_width = h.BinWidth % ビン幅(スカラ)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Histograms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!