Real time counter plot
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I am using appdesigner to create a counter. I am trying to plot the values that will be stored in the variable app.Counter in real-time. If the value is increased or decreased the plot must display this with a marker and a line joining from the previous marker. By pressing the pushbutton the app.Counter value is incremented by 1 but I am not seeing anything plotted on the UIAxes. Please assist.
function ButtonPushed(app,event)
app.Counter=app.Counter+1;
app.EditField.Value=app.Counter;
plot(app.UIAxes,app.Counter)
end
3 commentaires
Réponses (1)
Image Analyst
le 1 Oct 2022
Try making an array like
function ButtonPushed(app,event)
if a.Counter == 0
allCounts = 0;
else
app.Counter=app.Counter+1;
allCounts(end+1) = app.Counter
end
x = 0; % Vertical x's, OR:
x = 0 : app.Counter; % If you want each x in its own column.
app.EditField.Value=app.Counter;
plot(app.UIAxes,x, allCounts, 'kx-', 'LineWidth', 2, 'MarkerSize', 18);
end
5 commentaires
Image Analyst
le 1 Oct 2022
Lola, come on. There is a size. It even told you so. Please invest 2 hours here:
You can find out the sizes in the workspace panel, or by doing this:
size(x)
size(app.Counter)
size(allCounts)
dpb
le 1 Oct 2022
Modifié(e) : dpb
le 1 Oct 2022
...
x = 0 : app.Counter; % If you want each x in its own column.
should be
x = 0 : app.Counter-1; % If you want x on plot to begin at 0
x = 1 : app.Counter; % If you want x on plot to begin at 1
to account for "off-by-one" error of 1-based arrays and beginning the count with zero instead of one...
This should be easy to verify is the issue with the debugger as @Image Analyst suggested, presuming you used the vector multiple-x option...
However, this would be much simpler with animatedline and addpoints as suggested earlier; no array needed although would need to create the handle to the animated line to begin with on startup/initialization.
Voir également
Catégories
En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!