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

Linien in Plot schattieren

 

qani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2014, 13:19     Titel: Linien in Plot schattieren
  Antworten mit Zitat      
Servus!

Ich hoffe ich bin hier richtig:
Ich würde gerne eine beliebige Anzahl von Vektoren plotten, die von einem hellen Blau weiter hin zu einem dunklen Blau in immer gleichen Abständen werden.

So wie ich das verstanden habe funktioniert colormap nur für Flächen-Plots? von daher mein Ansatz:

Code:

for i=2:sze(1,1)
        %Aus absoluter Matrix einen relativen Wert bestimmen
        data_rel=((data(i,:)-bev_reg)./bev_reg)*100;
        %Relativen Wert plotten:
        plot(v,data_rel,'Color',[0 (i*0.25*255/sze(1,1)/255) 1-(i*(255/sze(1,1))/255)]);
    end
 


Leider bekomme ich dann nur verschiedenfarbige Linien, aber nicht einen klaren Farbverlauf.

Wäre super, wenn ihr mir da weiterhelfen könntet!

Viele Grüße,
qani


Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 05.02.2014, 16:12     Titel:
  Antworten mit Zitat      
Hallo,
Farbübergänge kann man schon mit Colormaps machen. Alternativ kann man das aber auch selbst schreiben:

Code:
N = 100;
theta = linspace(0,2*pi,N+1);
s = sin(theta);
figure
% Mit Colormap geht geht das so: zum Beispiel das erste Drittel der
% Colormap Jet hat so einen Übergang
cmap = colormap(jet(N*3));
figure
for i = 1:N
    plot(theta([i,i+1]),c([i,i+1]),'color',cmap(i,:),'LineWidth',2)
    hold on
end


% Oder du suchst dir Start- und Endfarbe aus und machst selbst den Übergang
for i = 1:N
    % [r,g,b] für dunkelblau = [0,0,0.5]
    % [r,g,b] für hellblau = [0,1,1]            
   
    % etwa so:
    g = (i-1)/N;            % aktueller Grünanteil
    b = 0.5 + (i-1)/(2*N);   % aktueller Blauanteil
    plot(theta([i,i+1]),c([i,i+1]),'color',[0,g,b],'LineWidth',2)
    hold on
end

 


Viele Grüße,
Nras
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: 06.02.2014, 09:27     Titel:
  Antworten mit Zitat      
Hallo, der obige Beitrag von mir st wohl schon zu alt, um ihn editieren zu können, daher ein weiterer Beitrag:
in Zeile 3 des Codes ist noch ein kleiner "Fehler". Statt
Nras hat Folgendes geschrieben:

Code:
N = 100;
theta = linspace(0,2*pi,N+1);
s = sin(theta); % besagte Zeile 3
 



sollte da besser
Code:
stehen, dann passt das auch mit den Plotbefehlen unten. Ansonsten dort die c(...) in s(...) tauschen.

Viele Grüße,
Nras
Private Nachricht senden Benutzer-Profile anzeigen
 
qani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.02.2014, 15:34     Titel:
  Antworten mit Zitat      
Super, vielen Dank!
 
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.