MATLAB:每个点都有自己颜色的散点图

时间:2016-05-19 02:30:37

标签: matlab matlab-figure

假设我的情况如下:

clc; clear;
n = 1001;
m = 1000;
X      = linspace(0,1,n);
Y      = linspace(0,1,n);
randcolor = rand(m,3);
colorcode = randi(m,m,m);

对于i = 1, ..., nj = 1, ...,n,我想绘制(X(i),Y(j))的点(X(i),Y(j))randcolor(colorcode(i,j),:)的RBG颜色为figure; hold on; 。我试图以愚蠢的方式做到这一点:先声明

plot

然后执行2个嵌套循环,每个步骤n步,并使用for i = 1:n for j = 1:n plot(X(i),Y(j),'Marker','o',... 'MarkerEdgeColor',randcolor(colorcode(i,j),:),... 'MarkerFaceColor',randcolor(colorcode(i,j),:)); end end 绘制单个点n x次:

colorcode

这在技术上有效,但速度很慢,当n增加时,MATLAB会占用我所有的记忆。请问有什么更好的方法吗?

P.S。在我的实际问题中,var实际上并未随机分配。相反,它是基于填充的Julia集的一些分歧标准来分配的。

1 个答案:

答案 0 :(得分:1)

您希望使用www.7thweb.net/wicket-jquery-ui/kendo/datatable/InfiniteDataTablePage代替plot,这样您就可以单独指定每个点的大小和颜色。

colors = rand(numel(X), 3);
S = scatter(X, Y, 100, colors);