plot several X=const

1 次查看(过去 30 天)
Maxime
Maxime 2014-9-17
Hello,
I have a vector G (with 120 values).
I'd like to plot a vertical line for each value of this vector in a graph having an other curve. How can I do this?
thank you

回答(1 个)

Image Analyst
Image Analyst 2014-9-17
Perhaps the stem() function?
g = rand(1, 10);
plot(g, 'ro-', 'LineWidth', 2);
hold on;
stem(g);
  4 个评论
Image Analyst
Image Analyst 2014-9-17
编辑:Image Analyst 2014-9-17
How about this:
Y = [2.5, 34, 65, -12]
G = [12.5, 5.789, 4.6102, 21.09]
plot(Y, 'ro-', 'LineWidth', 4);
grid on;
hold on;
stem(G, max(Y)*ones(1, length(G)), 'Marker', 'none', 'LineWidth', 4);
Note: Y and G don't have to have the same number of elements. ALso, you have not defined an X for the Y values so I'm just assuming X is the index number. For the "G" lines, I'm having them go just from 0 up to the max Y value since you gave no indication of where the lines start or stop.
Image Analyst
Image Analyst 2014-9-17
Another option to go the full height of the graph is to use line() function:
Y = [2.5, 34, 65, -12]
G = [12.5, 5.789, 4.6102, 21.09]
plot(Y, 'ro-', 'LineWidth', 4);
grid on;
hold on;
yl = ylim();
for k = 1 : length(G)
x = G(k);
line([x, x], yl, 'Marker', 'none', 'LineWidth', 4);
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Just for fun 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by