Error with Plotting Tall table Column Data "Tall inputs must be real column vectors."
Mostra commenti meno recenti
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 Commenti
Edric Ellis
il 10 Giu 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
il 13 Giu 2019
Christopher Greulich
il 13 Giu 2019
Risposte (0)
Categorie
Scopri di più su Timetables in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!