How do you graph Data filtered through a loop? This is for an app, I have a large table and a graph, but I also need to graph my filtered data.

조회 수: 2(최근 30일)
Ashlan O'Brien
Ashlan O'Brien 2020년 4월 25일
답변: Ganesh Regoti 2020년 4월 29일
% Code that executes after component creation
function startupFcn(app)
t = readtable('Corona 2.xlsx');
app.UITable.Data = t;
t = readtable('Corona 2.xlsx');
app.UITable.Data = t;
Day = table2array(t(:,"Day"));
Deaths = table2array(t(:,"Deaths"));
plot(app.UIAxes,Day,Deaths);
end
% Button pushed function: FilterStateButton
function FilterStateButtonPushed(app, event)
t = readtable('Corona 2.xlsx');
app.UITable.Data = t;
FilterState = app.StateFlipEditField.Value;
numRows = size(t,1);
k = 1;
for i = 1:numRows
if app.UITable.Data{i,4} ~= FilterState
RowstoDel(1,k) = i;
k = k + 1;
end
end
app.UITable.Data(RowstoDel,:) = [];
end

답변(1개)

Ganesh Regoti
Ganesh Regoti 2020년 4월 29일
Hi,
I assume that you want to plot the filtered data on another axis after the button is clicked. For this, either you could use another axes on the figure or you could use sub-plot.
function FilterStateButtonPushed(app, event)
t = readtable('Corona 2.xlsx');
app.UITable.Data = t;
FilterState = app.StateFlipEditField.Value;
numRows = size(t,1);
k = 1;
for i = 1:numRows
if app.UITable.Data{i,4} ~= FilterState
RowstoDel(1,k) = i;
k = k + 1;
end
end
app.UITable.Data(RowstoDel,:) = [];
plot(app.UIAxes2,Day,Deaths); % You could add something like this
% at the end of call back to plot the filtered data
end
You can also set visibility of an axes accordingly which is an in-build attribute for UIaxes.
Hope this helps!

Community Treasure Hunt

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

Start Hunting!

Translated by