MATLAB画直方图,两组数据放在同一坐标中比较

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:44:54
我想做一个直方图,数据如下
x=-2.5:0.1:2.5;
y1=[-0.26 0.61 -0.13 1.65 0.01 0.08 -0.11 0.16 -0.14 0.53 0.64 0.01 -0.38 -0.21 -0.17 -0.93 0.78 0.43]
y2=[0.23 0.23 0.07 0.4 -0.29 0.15 0.37 0.41 -0.63 0.12]
x为横坐标,看一看y1和y2两组数据的分布情况
如何将两组数据画在一个坐标中,用不同颜色表示?
我按如下语句,虽然也将两组数据画在一个坐标中,但是不知道怎样标注y1,y2
figure(1)
hist(y1,x);
h=findobj(gca,'Type','patch');
set(h,'FaceColor','r')
hold on;
hist(y2,x);

%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
%抱歉无解了你的意思
%我明白你的意思了,你是绘制y的直方图hist,不是bar
%但是不明白你的标注是什么意思,是legend吗,如果是直接使用legend('y1','y2')就可以标注了

======================================================================
你的x有51个数据
y1有18个数据
y2有10个数据

这个图如何画呢,数据的大小有问题,请将数据修改以后 我再帮您解答

clear;clc;
x=-2.5:0.1:2.5;
y1=[-0.26 0.61 -0.13 1.65 0.01 0.08 -0.11 0.16 -0.14 0.53 0.64 0.01 -0.38 -0.21 -0.17 -0.93 0.78 0.43];
y2=[0.23 0.23 0.07 0.4 -0.29 0.15 0.37 0.41 -0.63 0.12];
Y1=hist(y1,x);
Y2=hist(y2,x);
bar(x,[Y1;Y2]');
legend('y1','y2')