本人已经完成曲线的绘制,但是想要获得目标图片(图片1)中的标注(如每条曲线上均有的标注),以及各个箭头,在matlab的程序中该如何改进,附上已完成的代码及图片~~
%Band structures of In_{1-x}Ga_xAs with spin-orbit,x=0.6
clf
clear
m0=5.685777e-16; hb=6.579465e-16; %m0[eV s^2 cm^-2]; hb[eV s]
hm=hb^2/(2*m0); %hm=2.444569163651616e-16[eV cm^2];
a=5.8688132e-8; %a[cm]
kbz=2*pi/a; %kbz[cm^-1]
P=-0.00952269;Q=0.032869;f1=1.31512721;f2=-0.3151272;
r1=12.27; r2=4.58; r3=5.38;de=0.356;
A=-hm*r1; B=hm*r2; %A&B[ev cm^2]
kx=-0.5*kbz:0.00005*kbz:0.5*kbz; %kx[cm^-1]
kz=kx;
Ehh0=-P-Q;
Elhx0=-P+0.5*(Q-de+sqrt(de.^2+2*de*Q+9*Q.^2));
Esox0=-P+0.5*(Q-de-sqrt(de.^2+2*de*Q+9*Q.^2));
Ehhx=Ehh0-hm*((r1+r2)*kx.^2);
Ehhz=Ehh0-hm*((r1-2*r2)*kz.^2);
Elhx=Elhx0-hm*((r1-f1*r2)*kx.^2);
Elhz=Elhx0-hm*((r1+2*f1*r2)*kz.^2);
Esox=Esox0-hm*(r1-f2*r2)*kx.^2;
Esoz=Esox0-hm*(r1+2*f2*r2)*kz.^2;
plot(kx*1e-8,Ehhx,kx*1e-8,Elhx,kx*1e-8,Esox,...
kx*1e-8,Ehhz,kx*1e-8,Elhz,kx*1e-8,Esoz,'LineWidth',1.5)
line([-0.05 0.05],[0 0],'Linestyle','--','LineWidth',1.5,'Color','k')
line([0 0],[-0.45 0.05],'Linestyle','-','LineWidth',1.5,'Color','k')
line([-0.015 0.015],[-P -P],'Linestyle','-','LineWidth',1.5)
text(-0.02,0.01,'\fontsize{10}\bf{-P_{\epsilon}}')
axis([-0.05,0.05,-0.45,0.05])
title('Band structures of In_{1-x}Ga_xAs with spin-orbit,x=0.6')
xlabel('k_x,k_z,(2\pi/a)')
ylabel('Ec(k_x),Elh(k_x),Ehh(k_x),Elh(k_z),Ehh(k_z),Eso(k_x),Eso(k_z)')
![]()
![]()
目标图片(有标注)
![]()
已获得图片(无标注) |