Représenter graphiquement les données tableur
Le paragraphe précédent nous a permi de voir comment importer un tableau dans une interface graphique utilisateur.
A partir de cet exemple, il est possible de faire une réprésentation graphique des données sur la même interface.
Sur la face avant, il y aura:
Un bouton "Importer", un bouton "Tracer", un objet tableau, et un objet graphe. La feuille de calcul sera importée sur la face avant lorsque l'usager va cliquer sur "Importer", ensuite pour obtenir le graphique, il suffira de cliquer sur "Tracer".
Les deux Callbacks des boutons "Importer" et "Tracer" vont utiliser la même variable tuto_table qui va stoker les données du tableau importé.
Pour déclarer cette variable partagée, il suffit de cliquer sur l'onglet "Property", puis modifier le code pour avoir:
properties (Access = private)
tuto_table % Description
end
Les Callbacks:
Le Callback du bouton "Importer" est identique à celui crée dans le paragraphe précédent.
Pour le bouton "Tracer", on va d'abord extraire les données du tableau, colonne par colonne, puis les stocker dans les variables x pour les abscisses, et y pour les ordonnées, cette action est réalisée par la fonction prédéfinie table2array():
% Button pushed function: TracerButton
function TracerButtonPushed(app, event)
x = table2array(app.tuto_table(:,"Distance(cm)"));
y = table2array(app.tuto_table(:,"Tension(V)"));
plot(app.UIAxes,x,y);
end
Ensuite le tracé est obtenu par la fonction plot(app.UIAxes, x, y).
Le fonctionnement de l'exemple est donné dans la vidéo ci-dessous: