Verfasst am: 04.09.2013, 13:32
Titel: Set subplot Position zerstört andere Funktionen
Hallo zusammen,
mit dem angefügten Code Teste ich gerade die Machbarkeit der Anforderungen an eine Grafik. Die Grafik soll verschiedenste Daten von unterschiedlichen Geräten veranschaulichen. Um die Achsen jeweils frei spezifizieren zu können, verwende ich mehrere Subplot, wobei auch die Reihenfolge leicht zu modifizieren sein soll. Um die jeweiligen Geräte erkennen zu können, werden die entsprechenden Punkte mit Linien in einer Farbe verbunden. Dies funktioniert auch soweit so gut.
Nun besteht aber auch noch die Anforderung die Größe der einzelnen Subplots in der Höhe anpassen zu können. wenn ich dies über den set-Position -Befehl definieren möchte, dann werden nur Punktsymbole des aktuellen Schleifendurchlaufes angezeigt und ein Teil der vorherigen Subplot Spezifikationen verlieren ihre Wirksamkeit. Zur verdeutlichung habe ich nochmal 2 Bilder angehangen.
Befehles ausprobiert und diesen auch mit dem anderen set-Befehl zusammengefasst. Leider hat bisher nichts geholfen.
Hat jemand von euch eine Idee woran dies liegen könnte?
end set(s(n-m),'YTick',[], 'XTick', [130300480],'XScale', 'log'); %Achsenbeschriftung
axis([100100002]) text(1000,-0.5,'m_G_t_r [kg]') text(74,1,'Getriebebauf.') box off
grid off
I=text(x(d),y(d),'','parent',s(n-m)) set(I,'units','pixel')
pos=get(I,'position') delete(I)
temp=get(s(n-m),'position')
xf(d)=temp(1)+(pos(1)/fsize(3))
yf(d)=temp(2)+(pos(2)/fsize(4))
m=m-1 hold on
axis([120120015]) text(90,2,'Tier 2') text(90,3,'Tier 3') text(90,4,'Tier 4f') text(1200,-1,'P_V_K_M [kW]') box off
grid off
end
I=text(x(a),y(a),'','parent',s(n-m)) set(I,'units','pixel')
pos=get(I,'position') delete(I)
temp=get(s(n-m),'position')
xf(a)=temp(1)+(pos(1)/fsize(3))
yf(a)=temp(2)+(pos(2)/fsize(4))
m=m-1 hold on
x=[A(1,k),A(1,k+1)]
y=[A(2,k),A(2,k+1)]
an=annotation('line',x,y,'Color',color,'LineWidth',2)
k=k+1 end
%set(gcf,'paperunits','centimeters','paperposition',[004229.7]) print([[num2str((i))],'BG',num2str(B(i,5))] ,'-djpeg','-r150'); %speichert pro Schleifendurchlauf ein Bild im aktuellen Verzeichniss
Hat von euch keiner Idee, warum die Definition der Subplot Position solch ein Problem darstellt?
ch weiß mir bei dem Problem einfach nicht mehr zu helfen.
Danke und viele Grüße
Jochen
Rek
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.09.2013, 14:49
Titel:
Dürfte nicht an dem subplot-Befehl liegen, sondern eher an dem überflüssigen semilogx-Befehl (s. angehängte Grafik 2).
Da du später die Achsenbeschriftung sowieso nochmal anpasst
brauchst du diese gar nicht.
Versuch mal einfache plot- statt semilogx-Befehle zur Darstellung deiner Daten zu verwenden...
Gruß Rek
Jochen0815
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.09.2013, 16:07
Titel:
Hallo Rek,
danke für deinen Hinweis. Habe alle semilogx gegen plot Befehle ausgetauscht.
Leider hat dies keinerlei Wirkung gezeigt. Siehst du vielleicht noch irgendwo Programmiertechnische Missstände?
Mein Hauptproblem besteht nach wie vor darin den Fehler zu finden, warum die Subplot Positionsbestimmung die Anzeige aller Markersymbole beinträchtigt.
Danke und viele Grüße
Jochen
Rek
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.09.2013, 20:41
Titel:
Bei Änderung der Größe der einzelnen Subplots über ein Handle (Objektreferenz)
erstellt Matlab jedesmal eine neue Grafik und speichert diese in einem neuen Handle,
so dass sich s(n-m) stets ändert...
Dies lässt sich wie folgt vermeiden
Ja super Sache von dir, genau das war der springende Punkt.
Vielen vielen Dank, du hast mir damit sehr geholfen. Ich wäre daran echt fast verzweifelt.
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
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.