WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Textbox in plot mit Tabelle

 

PHEV
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 00:08     Titel: Textbox in plot mit Tabelle
  Antworten mit Zitat      
Hallo,

ich möchte gerne eine Tabelle in einen Plot einfügen. Die Tabelle bekomme ich auch hin aber leider nicht die größe und Position in meine grafik. Eigentlich möchte ich das ganze lieber als "nackte" tabelle ohne die scroll balken haben.

Mein Beispiel sieht bisher so aus: (Das wäre dann ohne die Balken aber hier bekomme ich keine Tabelle hin, insbesondere nicht mit mehreren variablen werten.

Code:
annotation('textbox', [.6 .7 .3 .15 ], 'String', ['Time 1=' num2str(xtTime_2_Referenz_point_500mbar)])


Code:
f = figure(1);
set(f,'Position',[500 500 300 150]);
dat =  {'        Time 1', 6.0 , num2str(xtTime_2_Referenz_point_500mbar), '        [s]';...
        '        Pressure 1', 500,  500, '        [mbar]';...  
        '        Time 2',  13.0 , num2str(xtTime_2_Referenz_point_700mbar), '        [s]';...
        '        Pressure 2', 700, 700, '        [mbar]';...  
        '        Time 3', 55.0 , num2str(xtTime_2_Referenz_point_900mbar), '        [s]';...
        '        Pressure 3', 900, 900, '        [mbar]'};
columnname =   {'Parameter', 'Value should', 'Value is','Units'};
columnformat = {'char', 'numeric', 'char'};
t = uitable('Units','normalized','Position',...
            [0.05 0.05 0.755 0.87], 'Data', dat,...
            'ColumnName', columnname,...
            'ColumnFormat', columnformat,...
            'RowName',[]);
 


Im Anhang ist ein Beispiel wie es aussehen soll.


Danke für alle Anregungen

example.JPG
 Beschreibung:

Download
 Dateiname:  example.JPG
 Dateigröße:  51.01 KB
 Heruntergeladen:  481 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 08:15     Titel:
  Antworten mit Zitat      
Hallo,

der uitable-Ansatz sieht doch gut aus. Die Scroll Balken verschwinden, sobald die Graphik groß genug ist.
Code:
set(f,'Units', 'normalized', 'Position',[0.3 0.3 0.3 0.3]);


Auch die Schriftgröße kann man evtl. noch anpassen, um sich mehr Platz zu verschaffen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 14:31     Titel:
  Antworten mit Zitat      
Danke für die Antwort. Leider komme ich mit der Positionierung und Größe nicht weiter.

Im Anhang ist ein Bild wie es aussieht und wie ich es gern hätte.

Der Grafikeditor von Matlab ist auch nicht mehr bedienbar wenn ich die Tabelle mit öffne. Diesen benötige ich aber unbedingt für den Feinschliff.

Die Tabelle sieht klasse aus, das stimmt. Ich hätte sie aber lieber simpler als Textbox.
Ich weiß wie man Tabellen in Latex schreibt. Geht dies hier auch?

Oder hat jemand einen Tipp, wie ich beide Grafiken in eine verbinde und es mehr in Richtung meines Wunsches bekomme?

( Die exakte Position und Größe werde ich selber anpassen danach frage ich hier natürlich nicht!)

Danke!

ex2.png
 Beschreibung:

Download
 Dateiname:  ex2.png
 Dateigröße:  44.22 KB
 Heruntergeladen:  464 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 14:38     Titel:
  Antworten mit Zitat      
Hallo,

und welchen Code verwendest du aktuell?

Wie ist die Wunsch-Graphik denn zustandegekommen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 15:04     Titel:
  Antworten mit Zitat      
Den selben Code.

Paint Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 15:14     Titel:
  Antworten mit Zitat      
Hallo,

wieso versuchst du denn nicht, die Positionierung des Tables anzupassen?

Ich würde grundsätzlich alles in normalized units halten, also auch die Figure.

Deine Figure enthält auch einen plot. Wie plottest du? Vor oder nach der Tabelle? All das kann einen Einfluss auf das Erscheinungsbild haben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 15:36     Titel:
  Antworten mit Zitat      
Code:
% plot----------------------------------------------------------------
 End_of_Plot=Start_time+110000; %Plot ends after 55seconds
 plot(xtVacuumSupplyPressure2HSBa,'r','LineWidth',2)
 title('Performance curve'); % creates a title above the plot
 axis([Start_time End_of_Plot 0.0 1.030]); % the function axis([x1 x2 y1 y2]) scales the axis between the sections x1-x2 and y1-y2
 xlabel('time [ms]'); % labels the x- axis
 ylabel('pressure [bar]'); % labels the y-axis
 hold on;
 grid % generates a grid on the plot
 
 plot(t_500mbar,p_500mbar,'r.','MarkerSize',15); % creates a bullet point
 plot(t_700mbar,p_700mbar,'r.','MarkerSize',15); % creates a bullet point
 plot(t_900mbar,p_900mbar,'r.','MarkerSize',15); % creates a bullet point
 
 
f = figure(1);
set(f,'Units', 'normalized', 'Position',[0.3 0.3 0.3 0.3]);;
dat =  {'        Time 1', 6.0 , num2str(xtTime_2_Referenz_point_500mbar), '        [s]';...
        '        Pressure 1', 500,  500, '        [mbar]';...  
        '        Time 2',  13.0 , num2str(xtTime_2_Referenz_point_700mbar), '        [s]';...
        '        Pressure 2', 700, 700, '        [mbar]';...  
        '        Time 3', 55.0 , num2str(xtTime_2_Referenz_point_900mbar), '        [s]';...
        '        Pressure 3', 900, 900, '        [mbar]';...
        '        Oil Temperature', 100.00 , num2str(Temp_Oil), '        []'};
columnname =   {'Parameter', 'Value should', 'Value is','Units'};
columnformat = {'char', 'numeric', 'char'};
t = uitable('Units','normalized','Position',...
            [0.05 0.05 0.755 0.87], 'Data', dat,...
            'ColumnName', columnname,...
            'ColumnFormat', columnformat,...
            'RowName',[]);



So Plotte ich. Ich habe schon an einen Subplot gedacht, da die Tabelle doch immer größer wird.
Ich möchte aber auch noch Text über der Tabelle ergänzen und hätte daher gerne die Möglichkeit auch eine lange Spalte über drei kürzeren Spalten zu generieren.

Wie gesagt, wenn ich die Möglichkeit hätte einfach einen Text zu schreiben mit mehreren Variablen wäre das schon genug eigentlich.


Danke nochmals!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 16:22     Titel:
  Antworten mit Zitat      
Hallo,

wäre ideal, wenn du noch Testdaten zur Verfügung stellen könntest...

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 17:20     Titel:
  Antworten mit Zitat      
Aber sicher doch

example.mat
 Beschreibung:

Download
 Dateiname:  example.mat
 Dateigröße:  863.44 KB
 Heruntergeladen:  520 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 19:55     Titel:
  Antworten mit Zitat      
Hallo,

so sieht's zumindest bei mir gut aus:

Code:
Start_time = 0;

% plot----------------------------------------------------------------
 End_of_Plot=Start_time+110000; %Plot ends after 55seconds
 plot(xtVacuumSupplyPressure2HSBa,'r','LineWidth',2)
 title('Performance curve'); % creates a title above the plot
 axis([Start_time End_of_Plot 0.0 1.030]); % the function axis([x1 x2 y1 y2]) scales the axis between the sections x1-x2 and y1-y2
 xlabel('time [ms]'); % labels the x- axis
 ylabel('pressure [bar]'); % labels the y-axis
 hold on;
 grid % generates a grid on the plot
 
%  plot(t_500mbar,p_500mbar,'r.','MarkerSize',15); % creates a bullet point
%  plot(t_700mbar,p_700mbar,'r.','MarkerSize',15); % creates a bullet point
%  plot(t_900mbar,p_900mbar,'r.','MarkerSize',15); % creates a bullet point
%  
 
f = figure(1);
set(f,'Units', 'normalized', 'Position',[0.2 0.2 0.5 0.35]);
dat =  {'Time 1', 6.0 , num2str(xtTime_2_Referenz_point_500mbar), '        [s]';...
        '        Pressure 1', 500,  500, '        [mbar]';...  
        '        Time 2',  13.0 , num2str(xtTime_2_Referenz_point_700mbar), '        [s]';...
        '        Pressure 2', 700, 700, '        [mbar]';...  
        '        Time 3', 55.0 , num2str(xtTime_2_Referenz_point_900mbar), '        [s]';...
        '        Pressure 3', 900, 900, '        [mbar]';...
        '        Oil Temperature', 100.00 , num2str(Temp_Oil), '        []'};
columnname =   {'Parameter', 'Value should', 'Value is','Units'};
columnformat = {'char', 'numeric', 'char'};
t = uitable('Units','normalized','Position',...
            [0.4 0.4 0.5 0.5], 'Data', dat,...
            'ColumnName', columnname,...
            'ColumnFormat', columnformat,...
            'RowName',[]);
 


Start_time habe ich auf 0 gesetzt und die Plots teilweise weggelasssen, da die entsprechenden Daten fehlten.

Grüße,
Harald

screen.pdf
 Beschreibung:

Download
 Dateiname:  screen.pdf
 Dateigröße:  13.93 KB
 Heruntergeladen:  490 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 22:05     Titel:
  Antworten mit Zitat      
Hi Harald, vielen Dank schonmal für deine Hilfe!

Es sieht schon viel besser aus, hat aber immer noch viele Schönheitsfehler. (Für meine Masterarbeit möchte ich ausschließlich perfekte Abbildungen verwenden)

Normal benutze ich immer den Grafikeditor für den Feinschliff. Wenn ich diese Tabelle plotte ist dieser quasi deaktiviert. Das ist sehr ungünstig. Ich kann die Tabelle anpassen, aber sonst nichts.

Dann ist ist spalte 2 und 3 einmal der Text links und rechts reingerückt?!

Wie man in meiner Abbildung sieht, ist noch sehr viel unbenutzer Bereich grau unterlegt.

Kann ich die Tabelle evtl in einen Subplot schöner unterbringen?

Ich möchte insbesondere die Tabelle ohne den grauen bereich rechts und unten haben.

Gibt es andere alternativen? Hier sind denke ich die Balken das Problem. Sehen toll aus, möchte ich jedoch nicht haben Razz

22.JPG
 Beschreibung:

Download
 Dateiname:  22.JPG
 Dateigröße:  129.79 KB
 Heruntergeladen:  446 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2015, 22:17     Titel:
  Antworten mit Zitat      
Ergänzung:

Den Grafik Editor kann ich "halb" aktivieren. Leider habe ich nicht vollen Zugriff auf alle Funktionen wie sonst, aber vielleicht finde ich das ja auch noch.

Ich habe noch ein Bild angefügt. Hier ist es quasi schon Perfekt aus. Allerdings ist das immer noch ein "Gefummel" bis dahin.

Kann man irgendwie im Rückschluss die Koordinaten auslesen? Mit "generate Code" geht es nicht.

Das die dritte Spalte anders eingerückt ist als die zweite stört auch sehr.


Edit: Mensch du bist echt schnell. Ich muss erstmal weiter rumprobieren!

33.JPG
 Beschreibung:

Download
 Dateiname:  33.JPG
 Dateigröße:  152.86 KB
 Heruntergeladen:  440 mal


Zuletzt bearbeitet von PHEV am 29.09.2015, 22:18, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.09.2015, 22:17     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Dann ist ist spalte 2 und 3 einmal der Text links und rechts reingerückt?!

Vermutlich weil du einmal Zahlen und einmal in Strings umgewandelte Zahlen hast. Was du damit bezweckst, weiß ich nicht. Ich würde aber mal versuchen, das wegzulassen.

Zitat:
Wie man in meiner Abbildung sieht, ist noch sehr viel unbenutzer Bereich grau unterlegt.

Dann mach den Bereich, in dem der uitable dargestellt wird, doch über 'Position' kleiner. Oder mach die Figure kleiner.

Zitat:
Hier sind denke ich die Balken das Problem.

Welche Balken denn? Falls es um die wechselnde Unterlegung der Zeilen geht: 'RowStriping' auf 'off' stellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2015, 14:01     Titel:
  Antworten mit Zitat      
Also ich meine mit Balken die Scroll Balken welche erscheinen wenn die Tabelle größer als die Box ist.

Das Problem mit dem rechts reinrücken ist behoben.


Wenn ich in Position bei set wie bei uitable die koordinaten verändere, dann wird das anzeige bild auf meinem Monitor an unterschiedlicher position geöffnet, was ich vollkommen unnütz finde. Ich möchte das Bild direkt maximal groß, also nicht verkleinert dargestellt haben, und hier soll direkt alles passen.

Hier ändert sich zwar die Größe der Tabellle, aber nicht Ihre Position relativ zum dahinter liegenden Bild.

Ich jedenfalls bekomme es leider gar nicht hin mit "herrumprobieren"

Mit nacheditieren bekomme ich es zu 99% perfekt hin, ich möchte es aber gerne automatisch direkt schon generieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2015, 19:43     Titel:
  Antworten mit Zitat      
Mir ist noch etwas aufgefallen:

Meine Werte werden mit einer Samplingrate von 2000Hz aufgenommen.

Plotten tue ich das ganze aber erst nach x messungen.

An dieser Stelle hätte ich gerne 0s und den Rest der x Achse auch auf Sekunden skaliert.

Nun muss ich die Werte der x-Achse nur mit 0.0005 multiplizieren. Leider weiß ich nicht wie ich dies als Voreinstellung für bspw. xtick anwende.

Ach weiß ich nicht wie ich mir einen t vektor erstelle der genau auf die Daten passt in sekunden. Theoretisch müsste ich ja mit Linspace oder etwas ähnlichem einen Vektor der Länge des Bereichs erstellen den ich plotten möchte mit meiner schrittweite.

und dann plot(t,Daten) etc

Ich habe aber leider nicht den richtigen Ansatz
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.