Plot dashed lines to given y value on a graph

8 vues (au cours des 30 derniers jours)
Rudolf
Rudolf le 20 Avr 2021
Commenté : Rudolf le 20 Avr 2021
How can I get dashed lines from each axis out to a point at a graph, given by a specified y value?
Somehow i would also like to get the corresponding x value represented.
Thanks for any help. For use in an example:
x = [0:1:25];
y = x * pi ;
plot(x,y)

Réponse acceptée

Walter Roberson
Walter Roberson le 20 Avr 2021
x = [0:1:25];
y = x * pi ;
stem(x,y, '--')
  4 commentaires
Walter Roberson
Walter Roberson le 20 Avr 2021
x = [0:1:25];
y = x * pi ;
plot(x, y);
hold on
ytarg = 30;
[~,yidx] = min(abs(y-ytarg));
xtarg = x(yidx);
plot([0, xtarg xtarg], [30 30 0], '--');
text(2, 50, sprintf('x=%g', xtarg), 'HorizontalAlignment', 'center')
plot([2 xtarg], [50 y(yidx)], '-k');
hold off
With this code, you would need to use a finer-grain x to have the points match up better.
You could interpolate to find a more accurate x, but the ease of doing that would depend upon whether the y is monotonic. y is monotonic in this case, so it could be done easily with xi = interp1(y,x,30)
Rudolf
Rudolf le 20 Avr 2021
Perfect!! Thank you so much! This solved the challenge.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by