how to delete the plotted particular coordinate from 2d graph

조회 수: 5 (최근 30일)
singh
singh 2015년 5월 13일
댓글: Star Strider 2015년 5월 14일
N=20;
area=100;
X=rand(1,N)*area;
Y=rand(1,N)*area;
XX=area/2;
YY=area/2;
plot(XX,YY,':o','LineWidth',3,'MarkerEdgeColor','k',...
'MarkerFaceColor','w','MarkerSize',20);
for i=1:N
plot(X(i),Y(i),'--o',...
'MarkerSize',10,'Color','b',...
'MarkerEdgeColor','b','MarkerFaceColor','b');
text(X(i),Y(i),num2str(i),'fontsize',15);
line([XX,X(i)],[YY,Y(i)])
hold on
end
>> XY=[X;Y]'
now i wish to delete the 10 no node delete from 2d gaph and delete the line and plotted marker from the node 10th

채택된 답변

Star Strider
Star Strider 2015년 5월 13일
I am not certain what you want to do, but if I understand correctly, I would set the 10th value to NaN.
Either:
X(10) = NaN;
Y(10) = NaN;
or:
XY=[X;Y]'
XY(10,:) = NaN;
depending on where in your code you want to do it. If you do not want the 10th node to be plotted, set the values to NaN before the plotting loop. The advantage of setting them to NaN is that it preserves the length of both vectors and of your ‘XY’ matrix, if that is important in your code.
  댓글 수: 4
Star Strider
Star Strider 2015년 5월 14일
I was concerned about the ‘ghost’ text resulting from my original solution, so I contacted MathWorks about it, submitting a bug report. I received a reply from Dr. Nade Sritanyaratana with an ingenious solution that genuinely merits I wish I’d thought of that! I learned something.
The code with Nade’s solution:
N=20;
area=100;
X=rand(1,N)*area;
Y=rand(1,N)*area;
for i=1:N
hp(i) = plot(X(i),Y(i));
ht(i) = text(X(i),Y(i),num2str(i),'fontsize',10);
hold on
end
XY=[X;Y]';
Q10 = XY(10,:); % Get Coordinates Of Point To Be Deleted
delete(hp(10)) % Delete Plotted Point
delete(ht(10)) % Delete Text Label
That I admit is better than mine.
Star Strider
Star Strider 2015년 5월 14일
With respect to your EDIT, simply expand on Nade’s solution:
for i=1:N
hp(i) = plot(X(i),Y(i),'--o',...
'MarkerSize',10,'Color','b',...
'MarkerEdgeColor','b','MarkerFaceColor','b');
ht(i) = text(X(i),Y(i),num2str(i),'fontsize',15);
hl(i) = line([XX,X(i)],[YY,Y(i)]);
hold on
end
XY=[X;Y]';
Q10 = XY(10,:); % Coordinates Of Deleted Values (Check)
delete(hp(10))
delete(ht(10))
delete(hl(10))

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Discrete Data Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by