我有一些像素点让我们说 p1(1,1) 和 p2(1,10)......等等
我想以任何颜色在图像上显示这些点。如何做到这一点?
MATLAB plot
文档非常全面。
LineSpec属性列出了不同样式的线条、颜色和点的语法。
如果您需要更多选项,请参阅 LineSeries Properties .您可以指定 Marker
(样式)、MarkerEdgeColor
、MarkerFaceColor
和 MarkerSize
等属性。
您还可以使用 RGB triplets定义颜色,如果你想偏离 rgbcmykw。
例子:
用橙色五角星标记绘制单个点 (3,4):
p=[3,4];
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20)
绘制带有绿色“o”标记的点数组:
p=round(10*rand(2,10));
plot(p(1,:),p(2,:),'go')
编辑:如果您将所有点存储为p1=[x1,y1]
,p2=[x2,y2]
等,先尝试将它们重新组织成一个 2xN 的矩阵。重新生成点,或者如果您已经将它们作为一对,请使用
p=[p1;p2;p3]'; %# the [;] notation vertically concatenates into Nx2,
%# and the ' transposes to a 2xN
plot(p(1,:),p(2,:),'go')
或者,如果您将大量点存储为单对,最多 p1000 左右,您可以使用 eval
(畏缩)。
p=[]; %# initialize p
for n=1:nPoints %# if you've got 1000 points, nPairs should be 1000
eval(['p(:,n)=p',num2str(n)],''); %#executes p(:,n)=pn' for each nPoint
end
我是一名优秀的程序员,十分优秀!