分享

求助:散点图中给每一个点加上标签的问题 – MATLAB中文论坛

 听语思祈 2018-05-03
 上面的图数据已经标准化过了。大致的程序如下:



[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来加文字标记。

但是没想到更好的办法。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多