MATLAB绘图点,颜色基于与线的距离

时间:2016-12-12 17:46:38

标签: matlab scatter-plot scatter

我在MATLAB中的2D中有一组m点和一组n行。假设n行以n颜色绘制,我需要使用与其最接近的行集合的平均颜色的颜色绘制每个点。我可以计算点与线的距离,但是如何使用scatter将点的颜色设置为一个加权值,该值是从最接近的线的距离加权的?

1 个答案:

答案 0 :(得分:3)

该示例可以帮助您:

clear all;
close all;

m = 20; %number of points
markerSize = 25;

%example points
a=rand(2,m);
a(:,m-1) = [0;0]; % this point will be purple
a(:,m-2) = [1;0]; % this point will be blue
a(:,m-3) = [0;1]; % this point will be red

%line x=0 is red
%line y=0 is blue;
f1 =figure(1);
hold on;
for i = 1:m
    pointColor = [1-a(1,i) 0 1-a(2,i)]; % rgb format - calculate distance here
    % [0 0 0] - black , [1 1 1] - white
    % pointColor=(lineColor1*distance1 + lineColor2*distance2+...)/numberOfClosestLines;
    scatter(a(1,i),a(2,i),markerSize, pointColor)
end