Visualizing values of nodes in a graph

4 views (last 30 days)
Deepa Maheshvare
Deepa Maheshvare on 20 Jan 2020
Commented: darova on 21 Jan 2020
I'm trying to visualize the values assigned to graph nodes
tail = 1:9;
head = 2:10;
G = graph(tail,head);
data = rand(10,10);
for k=1:10
clf
G.Nodes.Value = data(:,k);
p = plot(G)
p.Marker = 's';
p.MarkerSize = 7;
p.NodeCData = G.Nodes.Value;
colorbar
%Add plotting options
grid on
title(['t = ',num2str(k)])
view([30 35])
movieVector(k) = getframe;
end
The color scale(colobar) keeps changing while iterating through each loop. But I want the colorbar to be fixed for all iterations.
For instance, currenly what happens is
For k = 1, if data(:,k) contains values that range from 1:10
and
for k = 10, if data(:,k) contains values from 10:100
colorbar is different for both k's.
Expected output:
I want to have a colorbar that has a color scale ranging from 1:100. This will ensure that the colorscale doesn't vary for all the iterations (i.e colorbar is the same for all iterations)
Any suggestions on how to do this will be really helpful.
  3 Comments
Deepa Maheshvare
Deepa Maheshvare on 21 Jan 2020
This will display he colorbar only at the end. How do I see teh colorscale while the animation is playing?
darova
darova on 21 Jan 2020
What if display colorbar before loop?

Sign in to comment.

Answers (1)

Sindar
Sindar on 20 Jan 2020
Edited: Sindar on 21 Jan 2020
Fix the axis limits right after creating the colorbar:
colorbar
caxis([1 100])

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!