Включение цвета в графическое представление в 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). Как мне это сделать?

введите здесь описание изображения


person flamearchon    schedule 01.02.2013    source источник


Ответы (1)


Я думаю, вы можете сделать это с помощью команды scatter вместо команды plot. См. ниже...

% 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');

person ZZZ    schedule 01.02.2013