How can I plot only certain values from an array?
85 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ahsan Khan
el 17 de Dic. de 2014
Respondida: Ankit Jain
el 21 de Abr. de 2017
hi there, say I have an array [1,3,5,7,1,5,1,7,8,1]. I want to plot ONLY say value 1 from this array in accordance with the index in which the value resides in. so for the above array I want to plot for only value 1 occurrence: the value 1 shows up on index (0,4,6,and 9) so the plot will have an x-axis 1-10 and will only show a spike in the y direction when there is a value of 1 in the array. I have attached a an image as to what the result should look like. please help. thank you in advance. SN
0 comentarios
Respuesta aceptada
Adam
el 17 de Dic. de 2014
Editada: Adam
el 17 de Dic. de 2014
a = [1,3,5,7,1,5,1,7,8,1];
idx = find( a == 1 );
figure; hAxes = gca;
stem( hAxes, idx, ones(numel(idx)) );
xlim( hAxes, [1 10] );
If you want to see the spikes more clearly you can also add e.g.
ylim( hAxes, [0 2] );
1 comentario
Thorsten
el 17 de Dic. de 2014
Editada: Thorsten
el 17 de Dic. de 2014
Or as a one-liner :-)
stem(find(a==1), ones(numel(find(a==1))), 'k', 'Marker','None', 'LineWidth', 3), box off, axis([0 12 0 2])
and if you want just dots, use plot instead of stem:
plot(find(a==1), ones(numel(find(a==1))), 'ko', 'MarkerSize', 6, 'MarkerFaceColor', 'k')
Más respuestas (2)
Sudharsana Iyengar
el 17 de Dic. de 2014
just another method. This is round about way and will actually take more time to execute.
j=1;
for i=1:length(a)
if a(i)==1
b(j,1)=i;
b(j,2)=1;
j=j+1;
end
end
plot (b(:,1),b(;,2))
This will store the values of i for which the value is equal to 1. Which you can plot.
0 comentarios
Ankit Jain
el 21 de Abr. de 2017
Above all method are only applicable if the value to be plotted is same, what about if one wants varied values to be plotted?
0 comentarios
Ver también
Categorías
Más información sobre Line Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!