為了不丟失數據,使標記稀疏,壹種替代方案是在原圖像的基礎上再畫壹條曲線,專門用來畫標記,其數據是從原曲線的數據中提取的。
下面的代碼演示了實現方法,但是需要註意的是,它只適用於目前圖形中只有壹條曲線的情況。如果有多條曲線,需要做壹些修改。
syms?xGstar?雅士達
d 1 = 1.5;?D2 = 1.6;?k = 4;?phi = 0.01;
acstar1?=?(0.5*sqrt(pi)*k*phi)^(2/(1-d1))*xgstar^2;
acstar2?=?(0.5*sqrt(pi)*k*phi)^(2/(1-d2))*xgstar^2;
h?=?ezplot(sqrt(xgstar/pi)*(yarstar/3)^0.75*log(yarstar/(3*acstar1))+?...
k*phi*yarstar^0.75*(3*acstar1)^0.25-3e-4,[1e-9,1e-5,1e-5,5.0e-1]);
set(h,' LineStyle ','-',' color ',' k ');
x?=?獲取(h,?x’);
y?=?獲取(h,?y’);
dX?=?max(X)?-?min(X);
dY?=?max(Y)?-?min(Y);
e?=?0.01;?%?距離系數越小,越密集。
清楚了嗎?x?y
x(1)?=?x(1);
y(1)?=?y(1);
為了什麽?我?=?2?:?長度(X)
如果?sqrt(?((X(i)-x(end))/dX)^2?+?((Y(i)-y(end))/dY)^2?)?& gt=?e
x(end+1)?=?x(壹);
y(end+1)?=?y(I);
結束
結束
%?使用相同的顏色和線寬繪制標記。
保持?在
plot(x,y,' o ',' color ',get(h,' color '),' linewidth ',get(h,' linewidth '))