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

Farbliche Skalierung richtig setzen (countourf und colorbar)

 

fleischcracker
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 14.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2011, 10:49     Titel: Farbliche Skalierung richtig setzen (countourf und colorbar)
  Antworten mit Zitat      
Halle meine Lieben,

ich sitze schon mehr als ein Monat an einem Problem, habe es schon im anderen Grafik-Thread gepostet aber leider ohne Antwort Sad
Nun probiere ich es hier.
Ich habe eine Matrix A [100x100] und möchde sie grafisch darstellen. Dazu nutze ich folgende Befehlskette:

Code:


"contourf" zeichnet die Grafik und "colorbar" setzt farbliche Skalierung (rechts im Bild). Mein Problem ist, dass ich mit "contourf(A, 10)" nur zenh verschiedene Farben mache, aber "colorbar" macht das komplette Farbspektrum Sad Wie kann ich dem "colorbar" sagen, dass er die gleichen 10 Fahben macht wie "contourf" ?

Kann man auch die Grafik im x-y-Koordinatensystem so platzieren, dass sie nicht bei 1, sonder bei Null anfäng? (es muss dann von 0 bis 100 gehen und nicht von 1 bis 101)

Kann die Colorbar auch die Zahlenskalierung richtig darstellen? In Abb. geht es nur bis 18, aber in der Matrix bis 21,1


Ich möchte allen schon mal im Voraus Danke schön sagen!!! Bin für jede Hilfe dankbar!!!

A.zip
 Beschreibung:

Download
 Dateiname:  A.zip
 Dateigröße:  62.21 KB
 Heruntergeladen:  518 mal
Grafik.png
 Beschreibung:

Download
 Dateiname:  Grafik.png
 Dateigröße:  28.47 KB
 Heruntergeladen:  808 mal
Private Nachricht senden Benutzer-Profile anzeigen


Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2011, 12:02     Titel:
  Antworten mit Zitat      
Hi,

wenn du contour mit einer 10 aufrufst, hast du 10 Grenzen und somit 11 Farben.
Das Farbproblem lässt sich leicht über die Colormap lösen.

Deine X und Y Achse lässt sich mit meshgrid erstellen und dann als zusätzliche Parameter an contourf übergeben.

Die richtige Anzeige der Colorbar ist etwas schwierig und viel Fummellei,
aber sieh selbst:

Code:

figure
% Koordinaten für richtige X und Y Achse erstellen
[X,Y]=meshgrid(0:100);
contourf(X,Y,A,10)
colormap(jet(11)); % Colormap ändern
% Colorbar erstellen
cc=colorbar('ytickmode','manual','yticklabelmode','manual');
% Limits der Colorbar setzen
set(get(cc,'children'),'ydata',[+max(A(:))/22 max(A(:))-max(A(:))/22])
set(cc,'ylim',[0 max(A(:))])
% Level des Contourplots bestimmen
level=get(get(gca,'children'),'levellist');
level=[level level(end)+level(2)];
% Labels der Colorbar setzen
set(cc,'ytick',level);
% Label auf 2 Kommastellen begrenzen
set(cc,'yticklabel',round(100*level)/100);

xlabel('Äpfel')
ylabel('Birnen')



 
 
fleischcracker
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 14.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2011, 14:21     Titel:
  Antworten mit Zitat      
Ich platze vor Freunde!!! Es sieht schön aus!!!

Ich danke dir vielmals Gast!!!!

Schöne Grüße!!!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
tartufo50

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.09.2014, 18:48     Titel: Much better
  Antworten mit Zitat      
Vielen vielen Dank für den Code.
Hatte zunächst customcmap() von MatlabFEX versucht, aber die contour-Linien passten dann nicht mehr. So ist es wesentlich einfacher. Danke!
 
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.