Skip to content

Commit e43adde

Browse files
author
埃博拉酱
committed
PLine:修复多个描述符无法处理负方向P线的问题
1 parent b0741bc commit e43adde

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

+MATLAB/+Graphics/PLine.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@
209209
case 0
210210
MMFun=@max;
211211
case 1
212-
if min(ruler2num(Descriptors.YData(D,:),Descriptors.ObjectA.Parent.YAxis),[],2,ComparisonMethod='abs')<0
212+
if min(ruler2num(Descriptors.YData(D,:),Descriptors.ObjectA(D).Parent.YAxis),[],2,ComparisonMethod='abs')<0
213213
MMFun=@min;
214214
else
215215
MMFun=@max;
@@ -220,7 +220,7 @@
220220
Descriptors.FinalYData(D)=MMFun(Descriptors.YData(Logical(:,:,D)));
221221
end
222222
FinalYData=ylim;
223-
FinalYData=Descriptors.FinalYData+(FinalYData(2)-FinalYData(1))/10;
223+
FinalYData=Descriptors.FinalYData+(FinalYData(2)-FinalYData(1))/10.*sign(Descriptors.FinalYData);
224224
hold(Ax,'on');
225225
Lines=plot(Ax,Descriptors.XData.',[FinalYData,FinalYData].','k');
226226
Logical=Descriptors.FinalYData<0;
@@ -246,7 +246,7 @@
246246
Logical=AllExtent(:,2)<0;
247247
AllXData=AllExtent(:,[1,3]);
248248
AllXData(:,2)=AllXData(:,1)+AllXData(:,2);
249-
[MinX,MaxX]=bounds([vertcat(ruler2num(Lines.XData,XRuler)),AllXData],2);%Lines.XData不一定是数值类型,因此必须转换成数值
249+
[MinX,MaxX]=bounds([vertcat(ruler2num(vertcat(Lines.XData),XRuler)),AllXData],2);%Lines.XData不一定是数值类型,因此必须转换成数值
250250
AllXData=[MinX,MaxX];
251251
while true
252252
AllYData=[AllExtent(:,2),AllExtent(:,4)+AllExtent(:,2)];

0 commit comments

Comments
 (0)