2013-02-01 59 views
2

如下所示,我有一個圖形。在每個頂點(即圓圈)內是一個數字。 我準備這樣的圖。首先,我用下面的代碼放在每個頂點的座標圈:在Matlab中將顏色合併到圖形表示中

plot(vertexCoords(1,:),vertexCoords(2,:),'o',... 
    'MarkerFaceColor',[0.90 0.90 0.90],... 
    'MarkerSize',30,'MarkerEdgeColor','k','LineWidth',2); 

然後,我覆蓋文本對象如下:

text(vertexCoords(1,:),vertexCoords(2,:),num2cell(valueVector),... 
    'HorizontalAlignment','center'); 

我想選擇有一定colormap,和每個圓的顏色與圓圈中的數量成正比(數字可以從0到1)。我如何去做這件事?

enter image description here

回答

4

我想你可以用散射命令,而不是繪圖命令做到這一點。請看下面...

% for random values
vertexCoords=rand([5 2]);
% for arbitrary values
valuevector=[4 5];

figure
% scatter(X,Y,S,C) where X,Y: coordinates, S:size (I set it to 500 here), C:Color
scatter(vertexCoords(1,:),vertexCoords(2,:),500,(valuevector), 'filled')
colormap(autumn)
hold on
text(vertexCoords(1,:),vertexCoords(2,:),num2cell(valuevector),...
'HorizontalAlignment','center');

+0

感謝您的及時回覆。這工作。 – flamearchon