上面的图数据已经标准化过了。大致的程序如下: [xn,meanx,stdx]=prestd(x); [yn,meany,stdy]=prestd(y); h=length(x); plot (0,0); %先把图标框生成 hold on; for i=1:h %我是逐点画图的,因为要生成不同的颜色 if sign(i)==1 plot(xn(i),yn(i),'sk','markerface','k','markersize',10); else plot(xn(i),yn(i),'sg','markerface','g','markersize',10); end; text(xn(i)+0.1,yn(i)+0.1,num2str(label(i)),'fontsize',12);%给每个点加上标注,为了不被点本身遮挡住,需要对画标注的位置做个偏移——这里就是math和jojo110同学指导的地方 end; hold off; %画完图,可以撤了 title('grid analysis'); xlabel('derived importance'); ylabel('stated importance'); 其实我自己感觉其中有些步骤的语句写的不算很简明,如果不是因为数据量小的话,可能会对运行速度造成很大影响。。。比如那个逐点画图,其实我是希望把x,y(数据对)拆分成几段,比如按照y从大到小排序分两段,每段用不同的图标来显示,比如三角形/圆形,或者颜色,再用label来加文字标记。 但是没想到更好的办法。。。 |
|