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

Legende: Kontinuierl. hsv-Skala beim Plot einfarbiger Linien

 

KaMe
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 17.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2013, 07:24     Titel: Legende: Kontinuierl. hsv-Skala beim Plot einfarbiger Linien
  Antworten mit Zitat      
Guten Morgen,

mein Programm unten plottet mir etwa 200 einzelne Linien sowie jeweils schwarze Kreise nach jeweils ca. 8 Linien.
Jede Linie besitzt eine andere Farbe (häufig aber ähnlich), je nach einem bestimmten Referenzwert, den ich aus einer Tabelle ablese. Dabei verwende ich Farben aus dem hsv-Farbraum (die ich für den Plot selbst in RGB umwandel).

Gerne würde ich eine Legende einfügen, um die Farben visuell dem Referenzwert zuzuordnen. Dabei möchte ich aber nicht 200 einzelne Farbpunkte sowie die schwarzen Kreise aufgeführt haben, sondern eine kontinuierliche hsv-Farbskala, mit wenigen Zahlenwerten zum Ablesen.

Kennt jemand hierfür eine matlab-Funktion oder hat eine Idee? Im Internet bin ich bisher nicht fündig geworden.

Mein (vereinfachtes) Programm:

Code:

figure;
hold all;
for k=3:numel(files) % files = alle aus einem Ordner ausgelesene Dateien
    fid = fopen(fullfile(path,files{k}),'r');

    global Filename;
    [Filepfad, Filename, ext] = fileparts(files{k});
    FilenameExt=[path,Filename,ext];

    global test;
    test=xlsread(FilenameExt);
    x=test(:,4);
    y=test(:,5);

    for i=1:size(test,1) % Plot Linien
         a=0.7-(test(i,3));
         if a>1
             a=1;
         end
         if a<0
             a=0;
         end
         plot(x(i), y(i), 'linewidth',2, 'Color', hsv2rgb([a 1 1]));
    end  
   
    plot(x, y, 'o', 'MarkerSize', 14, 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'k'); % Plot Kreise

    fclose(fid); % Einlesen beenden

    totName=sprintf('%c','C:\Users\...');
    print('-dpng', totName);
    hold off;
end


Ich freue mich über jede Idee! Smile
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 02.10.2013, 09:16     Titel:
  Antworten mit Zitat      
Hallo KaMe,

vllt hilft:

Code:

bzw.
Code:


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
KaMe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 17.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2013, 10:27     Titel:
  Antworten mit Zitat      
Hallo Kascho,

vielen Dank!

1) Habe ich ausprobiert.
Code:
liefert mir auch eine Matrix mit entsprechenden Farbwerten, die
Code:
aber trotzdem nur den Standard-Color-Balken.

Gibt es eine Möglichkeit, den Standard-Balken so anzupassen, dass er nur die "niedrigste" und die "höchste" Farbe und alles dazwischen anzeigt?
Kann man den Balken "manuell" beschriften? Die Werte der Farben am Balken entsprechen nicht den Referenzwerten!

2) Mit deinem Tipp habe ich nochmal gesucht und diese Seite gefunden:
http://www.mathworks.de/de/help/map.....ormaps-and-colorbars.html
Contour Colormaps, 2. Ich habe folgenden Code nach der äußersten for-Schleife eingebaut:
Code:
   
    map=colormap;
    demcmap('size',map,200);
    colorbar;

Dadurch bekomme ich einen Balken mit Werten zw. 0 und 1, aber mit Farben, die in meiner figure nicht erscheinen, dafür fehlen andere Farben!

Gruß, KaMe
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.