I have a problem aligning text in uitable due to the data type.
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi all,
I have a uitable in my figure and can`t seem to adjust the alignment of the text. Apparently, from the documenation (https://www.mathworks.com/help/matlab/ref/matlab.ui.control.tableappd-properties.html), char is automatically displayed justified to the left and the numeric to the right.
In my code, i converted num2cell the 4 arrays and then combined them by horzcat to get the final table to use. This is what i got: All the columns to the left except the N is to the right. Can anyone help me adjust this please? Either by working on data type, alignments in uitables, or any other solution that makes the tables readable instead of looking confusing! Thanks
4 commentaires
Walter Roberson
le 11 Mai 2019
Instead of the [505 etc] you could put a variable that had the numeric values.
However, this approach is useless to you, as string() and compose() were not added until R2016b.
arrayfun(@(x) sprintf('%-3s', sprintf('%.3g',x)), YourArray, 'uniform', 0)
However, %.3g is perhaps not suitable for your last column.
You can sprintf uniform 0 each column by itself, with whatever numeric format and string width you want.
There are certainly other ways to get left justification. One way is to write, for example,
LJ = @(S, N) [S, blanks(N-strlen(S))];
arrayfun(@(x) LJ(sprintf('%.3g', x), 3), YourArray, 'uniform', 0)
but if you are going to be doing columns separately and putting them together then,
arrayfun(@(x) sprintf('%-3d', x), YourArray(:,1), 'uniform', 0)
Réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!