Ich habe einige Pixel-Punkte, sagen wir p1(1,1) und p2(1,10).......und so weiter
Ich möchte diese Punkte auf dem Bild in beliebiger Farbe anzeigen. Wie mache ich das?
Ich habe einige Pixel-Punkte, sagen wir p1(1,1) und p2(1,10).......und so weiter
Ich möchte diese Punkte auf dem Bild in beliebiger Farbe anzeigen. Wie mache ich das?
Die plot
Dokumentation von MATLAB ist ziemlich umfassend.
LineSpec Eigenschaften listen die Syntax für verschiedene Stile von Linien, Farben und Punkten auf.
Wenn Sie mehr Optionen möchten, sehen Sie sich LineSeries Properties an. Sie können Eigenschaften wie Marker
(Stil), MarkerEdgeColor
, MarkerFaceColor
und MarkerSize
festlegen.
Sie können auch RGB Triplets verwenden, um Farben zu definieren, wenn Sie von rgbcmykw abweichen möchten.
Beispiele:
Zeichnen Sie einen einzelnen Punkt (3,4) mit einem orangefarbenen fünfzackigen Sternmarker:
p=[3,4];
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20)
Zeichnen Sie ein Array von Punkten mit grünen 'o' Markern:
p=round(10*rand(2,10));
plot(p(1,:),p(2,:),'go')
EDIT: Wenn Sie alle Ihre Punkte als p1=[x1,y1]
, p2=[x2,y2]
usw. gespeichert haben, versuchen Sie sie zuerst in eine 2xN Matrix umzustrukturieren. Generieren Sie entweder die Punkte neu oder wenn Sie sie bereits als einzelne Paare haben, verwenden Sie
p=[p1;p2;p3]'; %# Die [;] Notation fügt vertikal zu Nx2 zusammen,
%# und das ' transponiert zu einem 2xN
plot(p(1,:),p(2,:),'go')
Oder, wenn Sie eine Vielzahl von Punkten als einzelne Paare gespeichert haben, sagen wir bis zu p1000 oder so, könnten Sie eval
verwenden (Zucken).
p=[]; %# initialisieren p
for n=1:nPoints %# wenn Sie 1000 Punkte haben, sollte nPairs 1000 sein
eval(['p(:,n)=p',num2str(n)],''); %#führt p(:,n)=pn' für jeden nPunkt aus
end
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.