gpt4 book ai didi

matlab - 如何在 matlab 中绘制不同高度和不同宽度的条形图?

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:21 25 4
gpt4 key购买 nike

我在 Matlab 中遇到了一个大问题,因为我似乎想做一些不那么平常的事情。

基本上,我正在尝试实现一种称为 Vincentizing 的群体分布方式。为了做到这一点,我遵循了一篇论文的说明(Ratcliff 1979 - 群体 react 时间分布和分布统计分析).一切都很好,直到我必须绘制实际图表。我有一个数组,其中包含我的数据集的分位数。我正在关注的教程说:

分布直方图可以通过在横坐标上绘制分位数,然后在相邻分位数之间构建矩形,使得所有矩形的面积相等,如图 2 所示(下图链接)

http://postimg.org/image/btftrd6y7/

一旦我计算出分位数,我就可以将面积设置为某个值,比如 10,因此我可以计算每个条形的高度。每个条的宽度是两个相邻分位数之间的距离,当然我也可以计算出来。我有我需要的所有信息,但我不知道如何绘制图表。在 matlab 中,如何绘制如图所示的图形?(似乎我可以绘制不同宽度的直方图,但使用 hist 函数我实际上无法指定高度。但是,使用 bar 函数,我可以指定高度但似乎我无法更改宽度..)

感谢您的帮助。

最佳答案

最简单的解决方案是使用rectangle:

% sample data: set the start of each bar, the bottom (here 0), the width and the height

x = [0.5 0.6 0.9 1 1.2]; % start of bar
y = zeros(length(x),1);
dx = diff([x 1.8]); % width of bar
dy = [1 3 2 .5 .1];


figure, hold on
for ii=1:length(x)
rectangle('position',[x(ii) y(ii) dx(ii) dy(ii)])
end
axis([0.5 2 0 4.1])

ylabel('Prob density')
xlabel('Time')

enter image description here

关于matlab - 如何在 matlab 中绘制不同高度和不同宽度的条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18419339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com