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

Ansicht für surf mit subplots auf x-y-Ebene

 

rumpfutsch
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 03.06.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.12.2015, 19:42     Titel: Ansicht für surf mit subplots auf x-y-Ebene
  Antworten mit Zitat      
Hallo zusammen,

ich habe folgenden Code

Code:

figure
colormap(jet);
set(gca, 'Clim',grenze)

for i = 1:m
    if i==m
        subplot(m,2,i*2-1);
            title('gemittelte Abweichung - links')
            surf(P,F,Abweichung{i,1}(:,:,4));
        subplot(m,2,i*2)
            title('gemittelte Abweichung - rechts')
            surf(P,F,Abweichung{i,2}(:,:,4));
    else
        subplot (m,2,i*2-1);
            title(['Abweichung links ', num2str(i)])
            surf(P,F,Abweichung{i,1}(:,:,4));  
        subplot (m,2,i*2);
            title(['Abweichung rechts ', num2str(i)])
            surf(P,F,Abweichung{i,2}(:,:,4));
    end
end


Alles, was ich möchte, ist im Code schon einstellen, dass alle Subplots mit Sicht auf die x-y-Ebene angezeigt werden.
Wie bekomme ich das am elegantesten hin?
Ich habe es schon mit
Code:
set(gca, 'CameraPosition', [1000 1000 1]);

und
Code:
daspect([1000 1000 1])

versucht, ohne Erfolg.

Schonmal vielen Dank für die Hilfe im Voraus!
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: 14.12.2015, 21:49     Titel:
  Antworten mit Zitat      
Hallo,

und was ist nun bei diesen Versuchen passiert? Gab es eine Fehlermeldung? Welche? Ein unerwartetes Verhalten? Inwiefern?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 03.06.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 15.12.2015, 08:55     Titel:
  Antworten mit Zitat      
Für

Code:
set(gca, 'CameraPosition', [1000 1000 1]);


und

Code:
set(gca, 'CameraPosition', [1 1 1000]);


kommt genau die gleiche Ansicht raus, die ich auch als Voreinstellung (also ohne set(gca...)) habe.

Das selbe gilt für
Code:
daspect([1000 1000 1])
 


bzw.

Code:
daspect([1 1 1000])
 


Ich bekomme für alle vier Varianten immer die gleiche Ansicht als Ergebnis.
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: 15.12.2015, 09:06     Titel:
  Antworten mit Zitat      
Hallo,

mangels Beispieldaten lässt sich das Verhalten leider nicht reproduzieren. Ich habe es mit Peaks versucht, und da wird die Ansicht sehr wohl verändert, allerdings natürlich nur für das momentane Koordinatensystem.

Damit das auf alle Koordinatensysteme angewendet wird, würde ich die Handles in einem Vektor sammeln.

Code:
ax(i*2-1) = subplot(m,2,i*2-1);

etc.
und das dann an set übergeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
huhu0815
Forum-Century

Forum-Century


Beiträge: 141
Anmeldedatum: 20.02.14
Wohnort: Dresden
Version: R2013b, R2014b, R2016b, R2018a
     Beitrag Verfasst am: 15.12.2015, 13:28     Titel:
  Antworten mit Zitat      
Hi,

probier es mal nach dem plotten mit
Code:
oder
Code:


Damit bekommst du immer die Ansicht auf die x-y-Ebene
Private Nachricht senden Benutzer-Profile anzeigen
 
rumpfutsch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 03.06.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.12.2015, 10:47     Titel:
  Antworten mit Zitat      
Hallo Harald,
was für ein Datentyp wäre denn
Code:
und wie und als was übergebe ich das an set?
Aber auf jeden Fall schonmal danke, dass du dich damit befasst und mir versuchst weiterzuhelfen!

huhu0815:
Wenn ich view in das Command Window eingebe, dann ändert sich nur einer der subplots, und nicht alle. Hast du eine Idee, wie man das auf alle anwenden kann?
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: 16.12.2015, 10:53     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
was für ein Datentyp wäre denn

Hängt vom Release ab (bitte ins Profil eintragen, ob R2014a oder b - das ist hier ein wichtiger Unterschied!)
Vor R2014b: double
Ab R2014b: matlab.graphics.axis.Axes
So oder so: wozu benötigst du diese Information?

Zitat:
und wie und als was übergebe ich das an set?

Als erstes Argument, z.B. statt gca.

Auch view bezieht sich immer auf das momentane Koordinatensystem. Mit
Code:

kann es auf ausgewählte Koordinatensysteme angewendet werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
huhu0815
Forum-Century

Forum-Century


Beiträge: 141
Anmeldedatum: 20.02.14
Wohnort: Dresden
Version: R2013b, R2014b, R2016b, R2018a
     Beitrag Verfasst am: 16.12.2015, 10:55     Titel:
  Antworten mit Zitat      
Na ganz einfach...nach jedem Subplot der befehl view
Code:

figure
colormap(jet);
set(gca, 'Clim',grenze)

for i = 1:m
    if i==m
        subplot(m,2,i*2-1);
            title('gemittelte Abweichung - links')
            surf(P,F,Abweichung{i,1}(:,:,4));
            view(2);
        subplot(m,2,i*2)
            title('gemittelte Abweichung - rechts')
            surf(P,F,Abweichung{i,2}(:,:,4));
            view(2);
    else
        subplot (m,2,i*2-1);
            title(['Abweichung links ', num2str(i)])
            surf(P,F,Abweichung{i,1}(:,:,4));
            view(2);  
        subplot (m,2,i*2);
            title(['Abweichung rechts ', num2str(i)])
            surf(P,F,Abweichung{i,2}(:,:,4));
            view(2);
    end
end
 


wenn du den Code vorher laufen lässt und dann im Command Window nur den Befehl eingibst, ist doch immer das letzte Subplot aktiv. Somit musst du jedes Subplot für sich als ein normales plot sehen und sämtliche Einstellungen darin vornehmen, bevor du einen neues Subplot "aufmachst"
Private Nachricht senden Benutzer-Profile anzeigen
 
rumpfutsch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 03.06.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.12.2015, 11:35     Titel:
  Antworten mit Zitat      
Hallo ihr beiden,

Vielen, vielen Dank! Jetzt klappt es!
Und ich weiß jetzt sogar warum!
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.