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

Fragen zu set figures

 

Martin1986
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 07.09.2011, 10:55     Titel: Fragen zu set figures
  Antworten mit Zitat      
Code:

set(ud.XYAxes, ...
    'Visible','on',...
    'Xlim', ax(1:2),...
    'Ylim', ax(3:4),...
    'XGrid', 'on',...
    'YGrid','on');
set(ud.XYLine,...
    'Xdata',x_data,...
    'Ydata',y_data,...
    'LineStyle','-');
 

Dieser Teil funktioniert hierbei sind
Code:

ud.XYAxes   = axes;
ud.XYLine   = plot(0,0);
ud.XYXlabel = xlabel('X Axis');
ud.XYYlabel = ylabel('Y Axis');
ud.XYTitle  = get(ud.XYAxes,'Title');
ud.XData    = [];
ud.YData    = [];

nun möchte ich noch mit patch(...) noch etwas einzeichnen dies geht auch nur leider verschwindet das andere oder es wird in einem extra fenster dargestellt Wink (das ganze ist aus der sfun die den XY Graph erstellt)

Ich würde mich über Tipps und Anregungen freuen Wink
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.09.2011, 00:16     Titel: Re: Fragen zu set figures
  Antworten mit Zitat      
Hallo Martin,

"hold('on')" fixiert das aktuelle AXES-Objekt, so dass für folgende Zeichen-Befehle kein neues AXES-Objekt erstellt wird. Eine andere Methode ist 'NextPlot' direkt zu setzen:
Code:
ud.XYAxes   = axes('NextPlot', 'add');

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 09.09.2011, 09:18     Titel:
  Antworten mit Zitat      
Ich habe das mal versuch leider sieht es immer noch nicht wie erhofft auf
Code:

 set(ud.XYAxes,...
 'NextPlot', 'add');
set(FigHandle,'UserData',ud);
set(ud.XYAxes, ...
    'Visible','on',...
    'Xlim', ax(1:2),...
    'Ylim', ax(3:4),...
    'XGrid', 'on',...
    'YGrid','on');

set(ud.XYLine,...
    'Xdata',x_data,...
    'Ydata',y_data,...
    'LineStyle','-');
set(ud.XYTitle,'String','X Y Plot');
 set(ud.XYLine,...
     'Xdata',handles.traceData.data(:,1),...
     'Ydata',handles.traceData.data(:,6),...
     'LineStyle','-');

set(FigHandle,'Color',get(FigHandle,'Color'));
axis(ud.XYAxes,[xmin xmax ymin ymax])
set(FigHandle,'UserData',ud);

drawnow
 

wenn ich das so mache dann ist leider nur der zweite sichtbar o.O
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 09.09.2011, 11:34     Titel:
  Antworten mit Zitat      
wenn man
Code:

set(ud.XYLine,...
     'Xdata',handles.traceData.data(:,1),...
     'Ydata',handles.traceData.data(:,6),...
     'LineStyle','-');
 

durch
Code:

plot(ud.XYAxes,handles.traceData.data(:,1),handles.traceData.data(:,6));

ersetzt kann ich mehr als ein plot erstellen schön und gut nur wollte ich ja kein plot sondern ein patch
aber bei patch gibt soweit ich sehen konnte nicht die mgl ein diese ud.Axes zuübergeben bzw. selbst wenn man es macht, öffnet sich ein neues figure und es wird nicht in dem selben dargestellt Sad

wenn ich davon absehe und einfach die beiden Linien plote wird das immer Langsamer beim durchlauf, weil er warum auch immer alle daten im Figure speichert(sie aber nicht anzeigt)
ich schon versucht dieses Verhalten mit
Code:
bzw.
Code:
set(ud.XYAxes, 'nextplot','replace')
abzufangen was leider nichts gebracht hat Sad ich wäre für Ideen und Tips offen...

Danke schon mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.09.2011, 16:36     Titel:
  Antworten mit Zitat      
Hallo Martin,

Bei PATCH kann man die Eiegtnschaft 'Parent' andgeben:
Code:
patch('Parent', AxesHandle, 'XData', ... )

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 10.09.2011, 10:59     Titel:
  Antworten mit Zitat      
perfekt danke sehr nun geht das mit der Fläche, aber das Performance Problem bleibt bestehen, ich habe auch schon eine Vermutung wo dieses her kommt es wird zwar immer nur das dargestellt was dargestellt werden soll aber alles wird im Speicher des figures belassen, wenn ich die simulation stoppe sehe alle alten daten, wie kann ich dieses ausschalten?
meine oben genannten Versuche waren ergeblich Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.09.2011, 22:15     Titel:
  Antworten mit Zitat      
Hallo Martin,

Du musst die alten gezeichneten Objekte entweder per DELETE löschen, oder besser noch die Objekte nur einmal zeichnen und dabnach nur noch die XData etc. für die neuen Daten ändern. Aber ich dachte, Du hättest letzteres bereits getan...

Ich habe in Deiner Frage nicht gefunden, welche Daten genau noch wo stehen. Aber mit dem obigen Ratschlag solltest Du das auch selbst finden können.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 12.09.2011, 22:28     Titel: Nein das habe ich leider nicht
  Antworten mit Zitat      
also das ud.Linie da werden die daten nur ersetzt, aber nicht bei dem anderen plot und patch und wenn ich versuche das analog zumachen
dann siehe http://www.gomatlab.de/also-entwede.....e-oder-matlab-t19948.html also da bekomme ich allen mgl Fehler ka warum Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.