how to delete the plotted particular coordinate from 2d graph

6 次查看(过去 30 天)
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