为什么用MATLAB的函数bar(x)绘制条形图时总是出错?

2024-12-15 14:51:53
推荐回答(2个)
回答1:

应该是代码输入错误。编译代码的时候要用英文。而且在数字上也不能出错。以下是方法及步骤
bar(Y):若Y为向量(一维),则分别显示每个分量的高度,横坐标为1到length(Y);如果Y为矩阵,则把Y分解成行向量,在分别画出来。横坐标为矩阵的行数。
bar(X,Y):在指定的横坐标上画出Y。
bar(X,Y,width):width设置条形宽度和条形的间距,是个比值,默认值为0.8,若设置width=1,则同一组内的条形没有间距。
bar(X,Y,'style'):'style'指示排列的类型,有‘group’和'stack'两种
barh的用法和上述相同,指示绘图的结果横纵坐标颠倒。
测试代码如下:
y=rand(6,4)*8; % 生成六行四列的测试数据
bar(y,'group');
bar(y,'stack');
注意区分两种类型的区别。y是6*4的矩阵,所以总共分为六类。group将一行中的四个数据分别画出,stack将一行的数据叠加画在一条bar上。
barh(y,'group');
用水平方式画图
bar(y,'stack',1);
设置width为1,同一类的柱状条之间相互连接,没有缝隙

回答2:

我的完全没有问题啊 ,给你看图: