gpt4 book ai didi

matlab - 指定间隔宽度的条形图条

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

我想用指定宽度的条创建一个条形图。我已经尝试了很多,但到目前为止没有任何效果。

x 的每个元素都是一个区间的中心。我希望每个条形的中心都在那个位置,并且这个条形的宽度应该对应于间隔的长度。 y 包含每个条的高度。我的目标是获得条形图,条形图的宽度各不相同。

% inter contains the limits of my intervals
inter = [-32.6;-31.3;-20.3;-19.0;-15.4;-14.1;-11.7;-10.4;-8.8];

x = [ -31.6000; -19.8000; -17.4000; -13.1500; -10.5000; -8.8000];
y = [ 2.3529; 1.0417; 1.3158; 1.5337; 2.5000; 1.0152];

% trying to create the bar plot, however, all widths are the same:
bar(x,y);

最佳答案

您可以使用patch 来自己绘制每个条形。我们可以使用 inter(k) 作为左边,inter(k + 1) 作为每个柱 k 的右边缘,以及高度我们已经知道是 y(k)

figure;
for k = 1 : length(y)
xl = inter(k);
xr = inter(k + 1);
patch([xr, xr, xl, xl], [0, y(k), y(k) 0], 'b');
end

事实证明,您甚至不需要向量 x

关于matlab - 指定间隔宽度的条形图条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748988/

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