0
假設我有一個情況如下:MATLAB:從每個點都有自己的顏色散點圖
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, ..., n
和j = 1, ...,n
,我想積點(X(i),Y(j))
的其中RBG顏色(X(i),Y(j))
是randcolor(colorcode(i,j),:)
。我試圖做這愚蠢的方式:首先聲明
figure; hold on;
然後做2個嵌套循環,n步每個,並使用plot
繪製一個點爲n×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增加時,MATLAB耗盡了我所有的記憶。請問有什麼更好的方法可以做到這一點?
p.s.在我的實際問題中,colorcode
實際上沒有隨機分配。相反,它是基於一個充滿Julia集合的分歧標準分配的。
謝謝。爲了我的目的,我需要用meshgrid修改你的答案,但是分散的建議是正確的。 – yurnero