![]() |
二维直方图如何绘制
请大神编写一个绘制二维直方图的程序。
|
回复: 二维直方图如何绘制
function sfpin(y) %创建函数M文件
y=y( : ) ; N=length(y); l=floor(1.87*(N-1)^0.4); %算组数 [Y,X]=hist(y,l); %直方图数据值 X=X( : )'; %每组中心位置值(行向量) Y=Y(: )'; %每组数据个数(行向量) ind=find(Y==0); %找出数据个数为0的位置 X(ind)=[]; Y(ind)=[]; xt1=1.5*X(1)-X(2)*0.5; %第一个横坐标值 xtt=X(1:end-1)*0.5+X(2:end)*0.5; xt2=1.5*X(end)-X(end-1)*0.5; %最后一个横坐标值 X=[xt1,xtt,xt2]; %所有横坐标值 n=sum(Y); Y=Y/n; %频率 xx=[X;X];yy=[Y;Y]; Xt=xx( : ) ;Yt=[0;yy( : ); 0] ; fill(Xt,Yt,'c') hold on x1=(X(2:end)+X(1:end-1))/2; %每组数据中心横坐标值 XX=[Xt';Xt']; YY=[Yt';zeros(1,length(Yt))]; plot(x1,Y,'-k',Xt,Yt,'-k',XX,YY,'-k') hold off title('频率直方图') |
所有时间均为北京时间。现在的时间是 12:46。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.