How to plot vertical lines for each data point?

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.

 Respuesta aceptada

Steven Lord
Steven Lord el 11 de Mzo. de 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');

Más respuestas (1)

Ameer Hamza
Ameer Hamza el 11 de Mzo. de 2020
Editada: Ameer Hamza el 11 de Mzo. de 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 comentarios

Victoria Wilson
Victoria Wilson el 11 de Mzo. de 2020
Editada: Victoria Wilson el 11 de Mzo. de 2020
My x axis is not consistantly placed
I have 10 data points on the x axis which are as follows:
950:983:1002:1004:1031:1047:1077:1098:1127:1160
So I tried to adapt your suggested code to account for this by replacing the x with my xplot and the y with my y plot. This has not worked and I'm unsure what else to try. Do you have any more suggestions?
Ameer Hamza
Ameer Hamza el 11 de Mzo. de 2020
Check Steven's answer. It mentions a cleaner solution.
Victoria Wilson
Victoria Wilson el 11 de Mzo. de 2020
Thank you for your help Ameer!

Iniciar sesión para comentar.

Categorías

Productos

Preguntada:

el 11 de Mzo. de 2020

Editada:

el 11 de Mzo. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by