Error with Plotting Tall table Column Data "Tall inputs must be real column vectors."
Ältere Kommentare anzeigen
I'm trying to plot data stored in a tall array accross several columns.
% Expected Behavior
t = table(1:1000);
figure;
plot(t.Var1(1,:)); % Works as expected
% Converting to tall table yields error
tallt = tall(t);
plot(tallt.Var1(1,:));
% Error using matlab.graphics.chart.primitive.tall.Line/doPlot
% Tall inputs must be real column vectors.
%
% Error in matlab.graphics.chart.primitive.tall.Line
%
% Error in tall/plot (line 84)
% htemp = matlab.graphics.chart.primitive.tall.Line('YData', y, ...
% Work around
plot(gather(tallt.Var1(1,:)));
Is there a fix that doesn't involve reading the tall array into memory?
3 Kommentare
Edric Ellis
am 10 Jun. 2019
tall arrays are expected to be large only in the first dimension. That's why the plot method for tall arrays has the restriction mentioned in that error message. The expected use-case is more like this:
tallt = tall(table((1:1000)'));
plot(tallt.Var1);
Rows of a tall array are already required to fit into memory, so calling gather when plotting a single row shouldn't cause any problems. Could you give any more details about what you're trying to do in your real code?
Christopher Greulich
am 13 Jun. 2019
Christopher Greulich
am 13 Jun. 2019
Antworten (0)
Kategorien
Mehr zu Timetables finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!