uitable mit String werten füllen
Laika_1988
Forum-Fortgeschrittener
Beiträge: 51
Anmeldedatum: 04.12.14
Wohnort: Mannheim
Version: R2010b
Verfasst am : 12.12.2014, 13:47
Titel : uitable mit String werten füllen
Hallo,
ich möchte Werte unterschiedlicher Art in einem uitable ausgeben.
Ich habe eine csv-Datei, in der der ich den Header mit textscan ausgelesen und in eine Variable "Header" gespeichert habe.
Jetzt möchte ich diese mit uitable ausgeben.
Dafür habe ich das Beispiel auf der Mathworks Seite genommen:
Code:
f = figure ( 'Position ',[ 440 500 461 146 ] ) ;
% create the data
d = [ 1 2 3 ; 4 5 6 ; 7 8 9 ] ;
% Create the column and row names in cell arrays
cnames = { 'X-Data ','Y-Data ','Z-Data '} ;
rnames = { 'First ','Second ','Third '} ;
% Create the uitable
t = uitable ( f,'Data ',d,...
'ColumnName ',cnames,...
'RowName ',rnames) ;
% Set width and height
t.Position ( 3 ) = t.Extent ( 3 ) ;
t.Position ( 4 ) = t.Extent ( 4 ) ;
Statt d gebe ich Header ein und ich erhalte folgende Fehlermeldung:
Code:
??? Error using ==> uitable
Values within a cell array must be numeric, logical , or char
Error in ==> uitable at 57
thandle = builtin ( 'uitable ', varargin { :} ) ;
Error in ==> Auswertesoftware>csvLaden_Callback at 179
t = uitable ( f,'Data ',Header,...
Error in ==> gui_mainfcn at 96
feval ( varargin { :} ) ;
Error in ==> Auswertesoftware at 71
gui_mainfcn( gui_State, varargin { :} ) ;
Error in ==> @( hObject,eventdata) Auswertesoftware( 'csvLaden_Callback ',hObject,eventdata,guidata ( hObject) )
??? Error while evaluating uicontrol Callback
Ich kann also keine Daten vom Typ String reintun.
Wie bekomme ich die Daten in char konvertiert ?
Es sind numerische daten und wörter darin, deswegen habe ich bei textscan string gewählt.
Danke für alle Hilfen.
Gruß Laika
_________________ Was nicht fliegt, stürzt auch nicht ab !!!
SigiSorglos
Forum-Century
Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
Verfasst am : 12.12.2014, 16:27
Titel :
Hi,
ins blaue rein geraten würde ich jetzt mal
Header{1}
versuchen anstatt nur Header für d zu schreiben.
Aber das ist nur so eine Idee...
Viele Grüße,
Sigi
Laika_1988
Themenstarter
Forum-Fortgeschrittener
Beiträge: 51
Anmeldedatum: 04.12.14
Wohnort: Mannheim
Version: R2010b
Verfasst am : 15.12.2014, 13:47
Titel :
Hallo SigiSorglos,
Entschuldige, dass ich mich erst jetzt melde, aber das Wochenende war ich komplett unterwegs.
Dein Tipp funktioniert, nur das eben nur die erste Spalte gezeigt wird. Ich brauch ja den ganzen String.
_________________ Was nicht fliegt, stürzt auch nicht ab !!!
Laika_1988
Themenstarter
Forum-Fortgeschrittener
Beiträge: 51
Anmeldedatum: 04.12.14
Wohnort: Mannheim
Version: R2010b
Verfasst am : 15.12.2014, 13:57
Titel :
Ich hab es gefunden
Hab d statt Header reingeschrieben.
Und oben dann folgendes:
Nur wie stelle ich die Größe der uitable genau ein ?
Es zeigt zu viele Zeilen an, hab ja nur drei, aber dafür nur 3 Spalten, hab ja sieben
Beschreibung:
Download
Dateiname:
bersicht.PNG
Dateigröße:
10.79 KB
Heruntergeladen:
279 mal
_________________ Was nicht fliegt, stürzt auch nicht ab !!!
denny
Supporter
Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
Verfasst am : 15.12.2014, 15:52
Titel :
Hallo
Wie hast deine CSV-Datei eingelesen? Hast du mit TEXTSCAN eingelesen?
Dein Spaltennamen musstest du laut dem Beispiel dem "ColumnName"- Property übergeben, so:
Die Größe der Tabelle kann man über "Extent" und "Position", steuern
steh ja alles im Beispiel.
so auf deine Daten angepasst:
Code:
f = figure ( 'Position ',[ 440 500 461 146 ] ) ;
Header = cat ( 2 , Header{ :} )
% create the data
d = Header( 2 :end , :) ;
% Create the column and row names in cell arrays
cnames = Header( 1 , :) ;
rnames = [ ] ;
% Create the uitable
t = uitable ( f,'Data ',d,...
'ColumnName ',cnames,...
'RowName ',rnames) ;
% Set width and height
t.Position ( 3 ) = t.Extent ( 3 ) ;
t.Position ( 4 ) = t.Extent ( 4 ) ;
Laika_1988
Themenstarter
Forum-Fortgeschrittener
Beiträge: 51
Anmeldedatum: 04.12.14
Wohnort: Mannheim
Version: R2010b
Verfasst am : 15.12.2014, 16:15
Titel :
ich hab folgendes:
Code:
f = figure ( 'Name ','Übersicht ') ;
d = [ Header{ 1 } ,Header{ 2 } ,Header{ 3 } ,Header{ 4 } ,Header{ 5 } ,Header{ 6 } ,Header{ 7 } ] ;
% Create the column and row names in cell arrays
cnames = { 'A ','B ','C ','D ','E ','F ','G '} ;
rnames = { '1 ','2 ','3 ','4 '} ;
% Create the uitable
t = uitable ( f,'Data ',d,...
'Units ','Normalized ',...
'ColumnName ',cnames,...
'RowName ',rnames) ;
% Set width and height
t.Position ( 4 :7 ) = t.Extent ( 4 :7 ) ;
Ja, ich habe es mit textscan eingelesen.
Mit obigem Code erhalte ich die figure,die ich anhängte
_________________ Was nicht fliegt, stürzt auch nicht ab !!!
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.