How to print changing y value on plot using the "COMET" function

3 visualizaciones (últimos 30 días)
For the following code I am trying to print the y value as a function of time on the plot itself (shown here is a damped sine wave function). However, the value is not printing. Many thanks in advance for any help.
x = linspace(0,5,250);
for k = 2:length(x)
y = exp(-350.*x).*25.*cos(4.*x)+200;
ax = axes;
set(ax, 'xlim', [0 3], 'ylim', [150 300]);
hold(ax);
comet(ax,x,y)
txt = num2str(y); %%%%%%ISSUE CODE
text(2.15,275,sprintf('%d',txt)) %%%%%%ISSUE CODE
end

Respuesta aceptada

Walter Roberson
Walter Roberson el 1 de Dic. de 2018
text(2.15,275,txt)
Alternately instead of assigning anything to txt use
text(2.15,275,sprintf('%d',y))
  2 comentarios
Michael Armstrong
Michael Armstrong el 1 de Dic. de 2018
Thanks again, Walter Robinson. The text is appearing behind the background of the plot, and I should include "delete(y)" at the end of the loop. I'll comment again once I've fixed the issue.
Walter Roberson
Walter Roberson el 2 de Dic. de 2018
if exist('lab', 'var') && ishghandle(lab); delete(lab); end
lab = text(2.15,275,sprintf('%d',y));
WIth regards to it appearing behind the plot: use a z coordinate in the text() call.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Animation en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by