Piloting graph in app designer
24 views (last 30 days)
Show older comments
Bilal Larouzi
on 14 Jun 2020
Commented: Bilal Larouzi
on 16 Jun 2020
Hello friends.
I am trying to create an app in Matlab app designer to plot data from tables.
I want the app to sum the second and third columns then plot the sum of these columns various the first column in the table.
i am facing proplem "Unrecognized method, property, or field 'Var1' for class 'matlab.ui.control.Table'" when i am trying to plot variables i hope you could help me with this problem.
0 Comments
Accepted Answer
Cris LaPierre
on 15 Jun 2020
Edited: Cris LaPierre
on 15 Jun 2020
Ok, app.BS is a uitable. app.BS.Data is the information displayed in that uitable.
What I would do, then, is create a property in the app to hold the raw data loaded from BS.txt.
properties (Access = private)
data % raw data from text file
end
I would add a new variable summing Var2 and Var3 to it (I called it app.data). Then I would plot Var1 vs this new variable.
% Button pushed function: ChooseButton
function ChooseButtonPushed(app, event)
[filename, pathname] = uigetfile({'*.txt'}, 'File Selector');
app.data = readtable (fullfile(pathname, filename), 'HeaderLines', 0);
app.BS.Data = app.data;
app.BSEditField.Value = filename;
end
% Button pushed function: DisplayButton
function DisplayButtonPushed(app, event)
app.data.sumVars = app.data.Var2+app.data.Var3;
plot(app.UIAxes, app.BS.Data.Var1,app.data.sumVars)
end
More Answers (1)
Cris LaPierre
on 15 Jun 2020
Edited: Cris LaPierre
on 15 Jun 2020
I suspect the variables app.BS.Var1 and app.BS.Var2 don't exist. Perhaps the variable app.BS.Data.Var1 does?
Still, there is an easier way to do this.
- Create a new table variable that is the sum of columns 2 and 3
- Plot column one vs the new column
app.BS.Data.sumVars = app.BS.Data(:,2)+app.BS.Data(:,3);
plot(app.UIAxes,app.BS.Data(:,1),app.BS.Data.sumVars)
3 Comments
Cris LaPierre
on 15 Jun 2020
Edited: Cris LaPierre
on 15 Jun 2020
Try updating it to
app.BS.Data.sumVars = app.BS.Data.(2)+app.BS.Data.(3);
plot(app.UIAxes,app.BS.Data(:,1),app.BS.Data.sumVars)
If that doesn't work, please save your variable BS to a mat file and attach it to your post.
See Also
Categories
Find more on Develop Apps Using App Designer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!