I want to create a plot using X Y coordinates

74 Ansichten (letzte 30 Tage)
George Sfinarolakis
George Sfinarolakis am 2 Feb. 2021
Kommentiert: Maheedhar Korimi am 31 Okt. 2022
I have 51 nodes that each one of them has X Y coordinates. I used the command: plot(x,y, 'd') but I would like the figure to show me the number of each node next to the diamond.For example the first node I'd like to have the number 1 next to it, the second the number 2 etc. Also I'd like the first node to be different shape or colour from the others. Do I have to use two different types of plot or it can be done in the same command? Thank you for your time.

Akzeptierte Antwort

Star Strider
Star Strider am 2 Feb. 2021
Bearbeitet: Star Strider am 2 Feb. 2021
Use the text function.
Example: —
x = rand(1,5);
y = rand(1,5);
nrc = compose('%2d',1:numel(x)); % Coordinate Numbers (Cell Array)
cm = jet(numel(x)); % Use The ‘colormap’ Of Your Choice
figure
scatter(x, y, 75, cm, 'd', 'filled')
grid
text(x, y, nrc)
EDIT — (2 Jan 2021 at 19:18)
Changed from plot to scatter since it provides more options, especially with respect to colouring the points. There are a limited number of shapes, so I would just go with changing the colours. The sizes of the plotted points can chnage with the colours with scatter.
  2 Kommentare
George Sfinarolakis
George Sfinarolakis am 2 Feb. 2021
Thank you very much for your time! It worked
Star Strider
Star Strider am 2 Feb. 2021
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 2 Feb. 2021
plot(x, y)
text(x, y, string(1:numel(x)))
Now scatter(x(:), y(:), Pointsize, C)
where C is a numel(x) by 3 color array in which you set the first row to be different from the others. You can also set the marker shape on the call.
Limitations:
  • all of the markers for the same plot line must be the same color and shape (unless I am forgetting a recent change)
  • all of the markers for a single scatter call must be the same shape

Matt J
Matt J am 3 Feb. 2021
x=rand(10,1); y=rand(10,1);
n=numel(x);
plot( graph(1:n,1:n),'LineStyle','none','Marker','d','XData',x,'YData',y);
  2 Kommentare
George Sfinarolakis
George Sfinarolakis am 3 Feb. 2021
That's also perfect. Thank you!
Maheedhar Korimi
Maheedhar Korimi am 31 Okt. 2022
Hi Matt, can I get 95 percentile in this data? maybe a circle representing 95 percentile of this data?
for example, consider 100 nodes, which is represented by (x,y) coordinates. How can I locate 95 percentile of this data?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Contour Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by