How to plot vertical lines for each data point?

30 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Steven Lord
Steven Lord il 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');

Più risposte (1)

Ameer Hamza
Ameer Hamza il 11 Mar 2020
Modificato: Ameer Hamza il 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 Commenti
Ameer Hamza
Ameer Hamza il 11 Mar 2020
Check Steven's answer. It mentions a cleaner solution.
Victoria Wilson
Victoria Wilson il 11 Mar 2020
Thank you for your help Ameer!

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by