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

Ein COLORBAR für mehrere plots

 

Paris
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 01.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2013, 12:06     Titel: Ein COLORBAR für mehrere plots
  Antworten mit Zitat      
Hallo liebe User
ich habe mich schon im Forum erkundigt und auch schon im internet reschaschiert, leider bin ich daraus nicht schlau geworden.
ich habe vier contourf plot´s in einem subplot dargestellt, diese einzelnen plot´s kann man vergleichen mit:

Code:


Also mein problem ist es eine einziege colorbar mit der richtigen skalierung für alle vier conourf plot´s zu erzeugen.
Vielleicht geht das ganz einfach, ich bin leider mit Matlab noch nicht so gut aus.
Ich Danke schon einmal im vorraus.
Private Nachricht senden Benutzer-Profile anzeigen


GtrAngus
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 11.06.13
Wohnort: Bayreuth
Version: ---
     Beitrag Verfasst am: 16.07.2013, 12:45     Titel:
  Antworten mit Zitat      
Sehe ich das richtig, dass du die vier contour-Plots in ein Bild schreibst und dem neuen, zusammengesetzten contour-Plot eine colormap zuordnen willst?

Hab selber sehr lange mit dem contour-Plot experimentiert und bin dabei nicht sonderlich weit gekommen. Allerdings könntest du z.B. alle 4 contour-Plots miteinander vergleichen und daraus immer den maximalen Werte auslesen und in ein neues Bild schreiben lassen. Sowas wie:

Code:

for i = 1 : laenge_Bild
    for j = 1 : breite_Bild
         m1 = plot1(i,j);
         m2 = plot2(i,j);
         m3 = plot3(i,j);
         m4 = plot4(i,j);
         m=[m1 m2 m3 m4];
         neuesBild(i,j) = max(m);
    end
end
 


So oder so ähnlich sollte es funktionieren. Eventuell musst du dem ganzen noch eine colormap zuweisen und das ganze Bild mit einem Faktor multiplizieren, da die verschiedenen Konturen glaub jeweils mit der gleichen Zahl versehen werden. Also angenommen es soll ein uint8 Bild werden mit max. 255 Farben und du hast 10 verschiedene Ebenen:

Code:

bild  = neuesBild.*25;
imagesc(bild), colormap(autumn);
 


Habs selber nicht ausprobiert, aber das wäre mein bester Tip dazu!
Private Nachricht senden Benutzer-Profile anzeigen
 
Paris
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 01.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2013, 13:02     Titel:
  Antworten mit Zitat      
Nicht ganz. Das sind keine Bilder sondern conturf plots.
ich habe mal die figure hochgeladen.
Danke schön für die schnelle antwort.

untitled.fig
 Beschreibung:

Download
 Dateiname:  untitled.fig
 Dateigröße:  49.29 KB
 Heruntergeladen:  518 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
GtrAngus
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 11.06.13
Wohnort: Bayreuth
Version: ---
     Beitrag Verfasst am: 16.07.2013, 13:30     Titel:
  Antworten mit Zitat      
Also so ganz durchschaue ich dein Bild nicht. Du hast bei jedem die gleiche colormap angewendet?

Falls ja, dann interpretiere ich das ganze mal so, dass du deine Werte von min bis max nicht in z.B. 10 äquidistante Wertebereiche einteilen willst, die dann nach dem contour-Prinzip eingefärbt werden. Sondern du willst eine feste Range festlagen. Also z.B in Grauwerten:

0 - 63: blau
64 - 127: rot
128 - 191: grün
192 - 255: gelb

(oder wie auch immer die Farben verteilt werden sollen...). An sich wüsste ich erstmal keine Lösung solch eine feste Range fest zu legen. Aber vll kannst du dein Bild "normieren" indem du z.B. in jede Ecke einen maximalen (hellen) Punkt setzt und in die andere Ecke einen minimalen (dunklen) Punkt. Dann hast du quasi einen festen Abstand zwischen hell und dunkel der bei allen Bildern gleich ist. Aber das wäre auch nur so behelfsmäßig...
Private Nachricht senden Benutzer-Profile anzeigen
 
Paris
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 01.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2013, 13:47     Titel:
  Antworten mit Zitat      
Die colormap ist überall gleich das stimmt.
Mir ist aber nur die colorBAR WICHTIG.
Also:
das erste Bild im subplot => hier ist der höchste wert z.B. 0,8 und bekommt die Farbe rot.
das zweit Bild im subplot => hier ist der höchste wert z.B. 1,5 und bekommt die Farbe rot.
u.s.w. bis zum vierten.

Ich möchte jetzt aber nur einen colorbar haben, wo jetzt das erste Bild die Farbe z.B. grün (grün ist im Bild eins der höchste wert) bekommt.
Und das dritte Bild hat aus den vier Bildern den höchsten wert mit 1,7 und bekommt die Farbe rot.

Danke das du dir die Mühe machst.
Private Nachricht senden Benutzer-Profile anzeigen
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 17.07.2013, 09:13     Titel:
  Antworten mit Zitat      
Hallo,

mit caxis([minc maxc]) legst du die Farbkodierung (und somit die Colorbar) manuell fest. Du musst dir nur überlegen, welche Werte du darstellen willst. minc ist dann vermutlich einfach der kleinste Wert, der in allen Contourf-Plots vorkommt und maxc ist der größte Wert, der in allen 4 Plots vorkommt.
Wenn die Werte aber unterschiedlich stark streuen, kann es passieren, dass man nicht mehr viel sieht, aber das findest du sicher schnell selbst raus.

Viele Grüße,
Nras.
Private Nachricht senden Benutzer-Profile anzeigen
 
Paris
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 01.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2013, 11:24     Titel:
  Antworten mit Zitat      
Danke schön für die Zahlreichen antworten.
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.