How to plot vertical lines for each data point?

30 vues (au cours des 30 derniers jours)
Victoria Wilson
Victoria Wilson le 11 Mar 2020
I have a line graph plot which is giving me a correct figure looking like the following:
However, my task is to recreate a zonation simulating the following figure:
I therefore need to add vertical lines to the plot at each data point along the x axis.
Any help would be greatly appreciated.

Réponse acceptée

Steven Lord
Steven Lord le 11 Mar 2020
Combine a plot plot (or a line plot) and a stem plot.
x = 0:10;
y = x.^2;
plot(x, y);
hold on;
stem(x, y, 'Marker', 'none');
  1 commentaire
Victoria Wilson
Victoria Wilson le 11 Mar 2020
Thank you Steven, this works great!

Connectez-vous pour commenter.

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 11 Mar 2020
Modifié(e) : Ameer Hamza le 11 Mar 2020
Check this example
% Example data
x = logspace(0,1,30);
y = log(x);
% plot original line
plot(x,y);
hold on;
% plot vertical lines
line_coordinates = [x' x' zeros(size(x')) y'];
line_coordinates = mat2cell(line_coordinates, ones(numel(x),1), [2 2])';
line_coordinates(3,:) = {'k'};
plot(line_coordinates{:})
  3 commentaires
Ameer Hamza
Ameer Hamza le 11 Mar 2020
Check Steven's answer. It mentions a cleaner solution.
Victoria Wilson
Victoria Wilson le 11 Mar 2020
Thank you for your help Ameer!

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by