MATLAB Answers

0

How to plot index number of a data in the graph?

Asked by Luan Gloria on 14 Feb 2019 at 10:38
Latest activity Answered by Mark Sherstan on 14 Feb 2019 at 14:11
Dear MatLab community members,
Let's say I have two vectors, A and B, with ten entries each. B = A*2; Let's say that A=1:1:10;
I want to plot A and B, but instead of ploting circles, crosses etc, I want to plot the index numbers of A and B to show that the content in the position 1 of A is doubled in B. In the picture below I show what I want:
Bild2.jpg
The red dots are the two first entries of vector A, and the blue dots are the two first entries of vector B, however, I cannot correlate these dots among each other (let's say I have a more complicated relationship between A and B, this relation would not be that easily seen). What I want to obtain, is a graph with the vector indexes as in the right side of the graph. Thank you!

  2 Comments

N=2;
text(1:N,A(1:N),"A index no"+(1:N))% like this?
text(1:N,B(1:N),"B index no"+(1:N))
Dear Ravi, thank you for your reply.
No, I do not want to add a description to a ploted marker. Instead of a marker, I wanna plot a number, which is equivalent to the index of my data point. So, in the pictures below, instead of ploting the circles (or markers as 'o', 'x', '*', etc), I want my markers to be the data point equivalent indexes.
Markers.png
IndexesMarkers.png

Sign in to comment.

1 Answer

Answer by Mark Sherstan on 14 Feb 2019 at 14:11

The following should get you going in the right direction. If you need more help please post your actual data set.
x = [1 2 3]
y = [4 5 6]
plot(x,y,'.','MarkerEdgeColor','w')
xlim([0 5])
ylim([0 10])
for ii = 1:length(x)
t = text(x(ii),y(ii),num2str(ii));
t.Color = [1 0 0];
end

  0 Comments

Sign in to comment.