
Can I place markers on only some of the points of my line plot?
    76 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    MathWorks Support Team
    
 el 3 de Sept. de 2013
  
    
    
    
    
    Editada: MathWorks Support Team
    
 el 14 de Abr. de 2023
            I have a plot that has a lot of points, and I would like to visualize it with markers. Placing markers on all the points makes the plot too cluttered; instead of a line made of markers I just get a thick line.
How can I plot only every other marker, or every third marker, or something like that?
Respuesta aceptada
  MathWorks Support Team
    
 el 14 de Abr. de 2023
        
      Editada: MathWorks Support Team
    
 el 14 de Abr. de 2023
  
      You can control the marker positions on a line plot using the 'MarkerIndices' property. With that, you can specify at which indices of the data points you want to display markers.
For example, let us create 1000 points ranging from 0 to 10, and create a sinusoidal function of increasing amplitude.
x = linspace(0,10,1000);
y = exp(x/10).*sin(4*x);
Now, let us plot the function with a solid line and add asterisk markers every tenth data points:
plot(x,y,'-*','MarkerIndices',1:10:length(y))
The result is the following:

You can find more information about creating a line plot with markers here:https://www.mathworks.com/help/matlab/creating_plots/create-line-plot-with-markers.html
1 comentario
Más respuestas (1)
  Nirajan R
      
 el 24 de Sept. de 2016
        
      Editada: MathWorks Support Team
    
 el 30 de Dic. de 2021
  
      The feature has been added now. You can use MarkerIndices property to achieve this. More info here: https://www.mathworks.com/help/matlab/creating_plots/create-line-plot-with-markers.html
1 comentario
  Steven Lord
    
      
 el 4 de Jun. de 2019
				When you call plot, omitting part of the data can change the shape of the line that is drawn so to control which markers are plotted you need to use MarkerIndices.
When you call scatter, omitting part of the data does not impact the rest of the points. Therefore you can simply call scatter on only part of your data. If you switch between the two figures created by the example below, the only differences will be the titles and the five points which were omitted in the second figure.
x = rand(1, 25);
y = rand(1, 25);
figure
scatter(x, y)
axis([0 1 0 1])
title('All data')
figure
scatter(x(1:20), y(1:20))
axis([0 1 0 1])
title('Only first 20 points')
Ver también
Categorías
				Más información sobre Annotations en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



