Setting table column width
Mostrar comentarios más antiguos
Apologies in advance for the lengthy example below. Suppose I create a two-column table:
>> t=table((1:2)',repmat(1:5,2,1))
t =
2×2 table
Var1 Var2
____ _____________________
1 1 2 3 4 5
2 1 2 3 4 5
At some point, MATLAB renders the second column in a "compact" format. In this case, this is triggered by adding a sixth element to the arrays in the second column:
>> t=table((1:2)',repmat(1:6,2,1))
t =
2×2 table
Var1 Var2
____ ____________
1 [1×6 double]
2 [1×6 double]
The same thing happens with chars, for which the magic threshold seems to be 10 characters; beyond that, the "compact" format appears:
>> t=table((1:2)',repmat('abcdefghij',2,1))
t =
2×2 table
Var1 Var2
____ __________
1 abcdefghij
2 abcdefghij
>> t=table((1:2)',repmat('abcdefghijk',2,1))
t =
2×2 table
Var1 Var2
____ ___________
1 [1×11 char]
2 [1×11 char]
I'm trying to understand if there is a way to set the width threshold for when this happens. Things I've tried that DO NOT work:
- Setting the header of the second column to an artificially long name:
>> t=table((1:2)',repmat(1:6,2,1),'VariableNames',{'Short','AVeryLongVariableNameThankYouVeryMuch'})
- Using addprop:
>> t=addprop(t,'ColumnWidth','table');
>> t.Properties.CustomProperties.ColumnWidth=[30 100]
(and using 'variable' instead of 'table' produces the same output.)
- Setting output numerical output format:
>> format long e
(and similarly with all the other options I tried with that command.)
Respuesta aceptada
Más respuestas (2)
John K. George
el 18 de Jun. de 2021
0 votos
>> t=table((1:2)',repmat(1:5,2,1))
Index in position 1 exceeds array bounds (must not exceed 1).
4 comentarios
Walter Roberson
el 18 de Jun. de 2021
At some point, you have accidentally created a variable named table or a variable named repmat so instead of table() or repmat() being a function call, the variable is overriding the function and MATLAB is understanding it as an indexing request rather than a function call.
John K. George
el 18 de Jun. de 2021
inadvertently perhaps. How would I resolve this issue - if in fact, this is what has occurred?
Walter Roberson
el 18 de Jun. de 2021
whos table
whos repmat
if one of them shows up as being a variable then clear the variable.
John K. George
el 21 de Jun. de 2021
Walter, thank you for your timely response(s) by the way. Much appreciated. It's working now! I'm actually trying to accomplish two things.
- The "Select_Sensor" column is currently cut-off at the right.
- Ideally, I would like the option of three "Categorical" dropdown menus, one for each column.
As it is, only the first column on the left ("Crew1, Crew2,... etc.) has been expanded to include dropdowns. See the attached script.
John K. George
el 21 de Jun. de 2021
0 votos
Attached reply. I had already tried typing "clear" by the way.
Categorías
Más información sobre Tables en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!