Overlay plot of UIAxes
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
prrrrr
el 21 de Jul. de 2020
Comentada: Adam Danz
el 21 de Jul. de 2020
i have a field in which i plot something. as soon as i click on a button the code is executed.
plot(app.UIAxes3,track,bottomLine,'r',track,topLine,'g');
hold(app.UIAxes3,'on')
plot(app.UIAxes3,track,-bottomLine,'r',track,-topLine,'g');
now i would like to plot a vertical line over it, which i move from left to right depending on a variable change. Without always replotting the image. Is that possible?
the image should only be replotted when I press the button again
Thanks
0 comentarios
Respuesta aceptada
Adam Danz
el 21 de Jul. de 2020
Editada: Adam Danz
el 21 de Jul. de 2020
You can plot the line using xline() and then merely update it's Value property to move it. The line's handle must be stored as an app property.
2) Plot the line somewhere in your code (a callback function or at startup) and store the handle.
app.verticalLineHandle = xline(app.UIAxes3, 0); % this plots the vert line at x=0
3) In your button callback function, all you need to do is change the value of the line to move it.
app.verticalLineHandle.Value = 1; % Now the line is at x=1
4 comentarios
Adam Danz
el 21 de Jul. de 2020
Yes, that's the correct way to implement it.
A line will be produced every time you call the xline() function. So, only call that once. Then update the xline value as needed.
To delete the line,
delete(app.verticalLineHandle)
Más respuestas (0)
Ver también
Categorías
Más información sobre Annotations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!