goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Farbe des Plot/Linie anhand x-Wert berechnen

 

Orikson
Forum-Anfänger
Forum-Anfänger

Beiträge: 13
Anmeldedatum: 17.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2016, 17:47     Titel: Farbe des Plot/Linie anhand x-Wert berechnen
  Antworten mit Zitat      
Hallo,

ich habe aktuell ein recht ausgefallenes Problem. Ich habe ein Diagram in welchem auf der x-Achse die Wellenlänge (~Farbe) des Lichts aufgetragen ist. Die gezeichnete Kurve soll nun die Farbe entsprechend der aktuellen Wellenlänge annehmen, wie etwa hier.

Damit es möglichst korrekt bleibt wollte ich als Farbmodell das "wave" nutzen, das aus einer Wellenläge direkt eine Farbausgabe erzeugt. Ich weiß aber nicht wie ich dies hinbekomme da ich schon an der normalen Zuweiung scheitere Rolling Eyes

Hat das schon mal jemand gemacht? Anbei mein Minimalbeispiel

Code • Öffne in Overleaf
\documentclass{scrreprt}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}  
\usepackage{xcolor}

\begin{document}

\colorbox[wave]{400}{UV 400 nm}\\
\colorbox[wave]{450}{blau 450 nm}\\
\colorbox[wave]{525}{grün 525 nm}\\
\colorbox[wave]{650}{rot 650 nm}\\
\colorbox[wave]{750}{N-IR 750 nm}\\
\colorbox[wave]{814}{IR 814 nm}\\

\begin{tikzpicture}

\begin{axis}[
   xmin = 400,
   xmax = 850,
   xlabel = {Wellenlänge $ \lambda $ in nm}
   
]
   \addplot [red, ultra thick] coordinates { (400,100) (850,650) };
   %\addplot [color=[wave]{525}] coordinates { (400,100) (850,600) };   % not working
   %\addplot [color={[wave]{450}}] coordinates { (400,100) (850,550) };   % not working
\end{axis}

\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2188
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 14.12.2016, 19:29     Titel:
  Antworten mit Zitat      
Wenn es überhaupt geht, dann dürfte das schwierig und aufwändig sein. Aber vielleicht reicht Dir auch etwas wie in der Antwort von Henri auf Wellenlängenbereich und Achse synchronisieren.
Private Nachricht senden Benutzer-Profile anzeigen

Orikson
Forum-Anfänger
Forum-Anfänger

Beiträge: 13
Anmeldedatum: 17.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2017, 18:23     Titel:
  Antworten mit Zitat      
Nachdem ich das Problem einige Zeit hab ruhen lassen bin ich es heute noch einmal angegangen. Tatsächlich kam am Ende eine wirklich seeeehr einfache Lösung für das Problem raus Laughing

Bei einer ausreichend hohen Anzahl an Punkten sind auch die Farbverläufe nicht mehr so abrupt.

Code • Öffne in Overleaf
\documentclass{scrreprt}

\usepackage{filecontents}
\begin{filecontents}{data.dat}
x_wavelength   y_results
380            1
400            2
420            3
440            4
460            5
480            6
500            7
520            8
540            5
560            3
580            2
600            2
620            2
640            3
660            4
680            5
700            6
720            6
740            2
760            1
780            7
800            8
\end{filecontents}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}  
\usepackage{xcolor}

\begin{document}

% pgfplots Manual page 148 (top) + 149 (bottom) combined
\begin{tikzpicture}
\begin{axis}[ xlabel = {Wavelength in nm}
         
]
\addplot[ ultra thick,
        surf,
        mesh/color input = explicit mathparse,
        point meta = {symbolic={wave=\thisrow{x_wavelength}} }
     
]
      table[x=x_wavelength, y=y_results] {data.dat};
\end{axis}
\end{tikzpicture}

Beispielfarben aus dem xcolor-Paket:\\
\colorbox[wave]{380}{UV 380 nm}
\colorbox[wave]{450}{blau 450 nm}
\colorbox[wave]{550}{verde gruen 550 nm}
\colorbox[wave]{600}{orange 600 nm}
\colorbox[wave]{650}{rot 650 nm}
\colorbox[wave]{780}{N-IR 780 nm}

\end{document}




wavelength.PNG
 Beschreibung:

Download
 Dateiname:  wavelength.PNG
 Dateigröße:  49.76 KB
 Heruntergeladen:  27 mal
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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 nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de