Matlab 根据计数向量绘制直方图
如果我有一个直方图边缘和箱数的向量,是否可以使用它直接生成直方图图 例如,给定的数据向量Matlab 根据计数向量绘制直方图,matlab,matlab-figure,matlab-hg2,Matlab,Matlab Figure,Matlab Hg2,如果我有一个直方图边缘和箱数的向量,是否可以使用它直接生成直方图图 例如,给定的数据向量 edges = 0:10; % histogram edges for 9 bins counts = round(normpdf(edges(1:end-1), 5, 2) * 1000) % Generate bin counts counts = 9 27 65 121 176 199 176 121 65 27 我总是可以根据需要人工生成数
edges = 0:10; % histogram edges for 9 bins
counts = round(normpdf(edges(1:end-1), 5, 2) * 1000) % Generate bin counts
counts =
9 27 65 121 176 199 176 121 65 27
我总是可以根据需要人工生成数据
data = [];
for i = 1:numel(counts)
% This should be optimised by pre-allocating the data array,
% but this is only provided as an example.
data = [data (ones(1, counts(i)) * mean(edges(i:i+1)))];
end
因此,numel(数据)==sum(计数)
然后我可以使用直方图(数据,边)
绘制直方图:
但是,我希望这样做,而不必执行生成人工数据的中间步骤,因为这看起来相当复杂
我知道我可以使用条形图
功能,但我更喜欢使用直方图
,因为我更喜欢它的绘图方式和提供的功能
编辑:我正在使用MATLAB R2015a/R2015b,尽管我希望尽可能保持与R2015a的向后兼容性(我知道R2015b中的
直方图
有相当大的更改)。我认为您无法避免将实际数据提供给直方图
对象。直方图
对象的功能包括能够在事件发生后更改箱子/边缘,因此它需要知道其源数据。为什么不喜欢条形图?直方图计算计数,然后调用bar…@AnderBiguri,你确定吗<代码>条形图返回条形图对象,直方图
返回两个基本体的对象。直方图对象具有良好的属性,例如FaceAlpha
,这些属性在bar
中不可用。也许hist
曾在内部使用bar
,但我相当确定直方图
(在R2014b中引入)从头开始重新实现了该功能。我会使用补丁来实现这一点。我从字面上看不出您的绘图与此绘图之间有什么区别:在对数据集使用bar函数时:new_edges=(edges(1:10)+0.5)条(新边,计数,1)但如果你坚持使用直方图,我真的不知道:)不幸的是,我认为这是正确的答案:(