想了很久,这个问题确实相当麻烦。在以前的标注帖子里,有过一个X上边加点的。是通过直接绘制的方法。在萝卜的网站里曾看到过一个修改legend的程序,这个和那个雷同。总体思路就是从新做一个legend,替换掉原来的。
- x = 0:.2:12;;
- plot(x,bessel(1,x),x,bessel(2,x),'k--',x,bessel(3,x),'r*');
- H=legend('a','b','c');
- po=get(H,'Position');
- sH=get(H,'Children');
- set(H,'Position',po);
- axes('Position',po);
- hold on;axis([0,1,0,1]);
- set(gca,'xtick',[],'ytick',[]);box on;
- yL=fliplr(linspace(0.14,0.75,3));
- Ls=['a','b','c'];
- index=[8,5,1];
- for k=1:3;
- L(k)=plot([0.07,0.6],[1,1]*yL(k));
- Te(k)=text(0.75,yL(k),Ls(k));
- ta=text(0.76,yL(k)+0.1,'\wedge')
- set(L(k),'marker',get(sH(index(k)),'marker'),'markersize',get(sH(index(k)),'markersize'));
- set(L(k),'color',get(sH(index(k)),'color'),'LineStyle',get(sH(index(k)),'Linestyle'));
- set(ta,'fontsize',get(sH(9),'fontsize')-5);
- end
复制代码
[ 本帖最后由 花如月 于 2007-12-3 20:29 编辑 ] |