Hallo,

ich würde gerne eine wave unter meinem Diagramm einfügen. Das Diagramm hat einen x-Bereich von 340-800 nm und ich würde gerne genau DEN Farbbereich dort einfügen, dass man sieht, wenn ich meine Kurve im Diagramm habe, welcher Punkt, welcher Farbe entspricht. !alt text

Ich habe das nun soweit umgeändert, wie es Henry mir gesagt hat, jedoch passt die Welle nicht mit der x-Achse überein. Ich habe zusätzlich ein paar Werte der .csv Datei hinzugefügt.

Hoffe ihr koennt mir weiterhin helfen!

Open in Online-Editor
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{pgfplots}
\usetikzlibrary{
quotes,
angles,
babel,
calc,
3d,
intersections,
shapes,
}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\centering  
\begin{tikzpicture}

\begin{axis}[ymin=0,grid,
width=0.9\textwidth,
height=0.3\textheight,
%xmin = 350,
%xmax = 750, %geringer wie 750 kann ich hier leider nicht gehen
title = {V-$\lambda$-Kurve},
axis line style={ultra thick},
xlabel={Wellenlänge $\lambda$ [nm]},
ylabel={Hellempfindlichkeitsgrad V [-]},
legend style={at={(1,1)}, anchor=north east, nodes=right}, name=main
]
\addplot [no marks, very thick, red]table {Tagsehen.csv};
\addplot [no marks, very thick, blue]table {Nachtsehen.csv};
\legend{Tagsehen, Nachtsehen};
\end{axis}

\begin{scope}[shift=(main.below south west)]
\shade[shading=rainbow,shading angle=90] (0,0) rectangle +(0.8\textwidth,-.5);
\foreach \lambda in {400,450,...,700} {
    \draw ({(\lambda-400)/300*0.8\textwidth},-.4) -- ({(\lambda-400)/300*0.8                \textwidth},-.5) node [below] {\lambda};
}
\end{scope}
\end{tikzpicture}
\caption {Relative-Spektrale-Hellempfindlichkeitskurve \cite{Reif.2014}}
\label{Vlambda}
\end{figure}
\end{document}

Ein paar Werte für das Tag- und Nachtsehen sind

Open in Online-Editor
Tagsehen
380 0
390 0.0001
400 0.0004
410 0.0012
420 0.004
550 0.995
560 0.995
740 0.00025
750 0.00012
760 0.00006
770 0.00003
780 0.000015

Nachtsehen
380 0.000589
390 0.002209
400 0.00929
410 0.03484
420 0.0966
430 0.1998
500 0.982
510 0.997
760 0.000000425
770 0.000000241
780 0.000000139

gefragt 22 Aug '16, 13:31

Starboma's gravatar image

Starboma
8071722
Akzeptiert-Rate: 0%

bearbeitet 23 Aug '16, 11:12

(22 Aug '16, 20:31) cis

Ich würde kein picture, sondern ein TikZ shading verwenden um das Spektrum zu zeichnen.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\pgfdeclareverticalshading{rainbow}{100bp}
{color(0bp)=(red); color(25bp)=(red); color(35bp)=(yellow);
  color(45bp)=(green); color(55bp)=(cyan); color(65bp)=(blue);
  color(75bp)=(violet); color(100bp)=(violet)}
\begin{document}
\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \begin{axis}[ymin=0,grid,
      scale only axis,
      width=0.8\textwidth,
      height=0.3\textheight,
      xmin = 550,
      xmax = 800,
      title = {V-$\lambda$-Kurve},
      axis line style={ultra thick},
      xlabel={Wellenlänge $\lambda$ [nm]},
      ylabel={Hellempfindlichkeitsgrad V [-]},
      legend style={at={(1,1)}, anchor=north east, nodes=right},
      name = main,
      ]
      \draw [->] (0,0) -- (5,0) node [midway, below] {Text};
      % \addplot [no marks, very thick, red]table {Tagsehen.csv};
      % \addplot [no marks, very thick, blue]table {Nachtsehen.csv};
      \legend{Tagsehen, Nachtsehen};
    \end{axis}
    \begin{scope}[shift=(main.below south west)]
      \shade[shading=rainbow,shading angle=90] (0,0) rectangle +(0.8\textwidth,-.5);
      \foreach \lambda in {400,450,...,700} {
        \draw ({(\lambda-400)/300*0.8\textwidth},-.4) -- ({(\lambda-400)/300*0.8\textwidth},-.5) node [below] {\lambda};
      }
    \end{scope}
  \end{tikzpicture}
  \caption {Relative-Spektrale-Hellempfindlichkeitskurve \cite{Reif.2014}}
  \label{Vlambda}
\end{figure}
\end{document}

alt text

Permanenter link

beantwortet 22 Aug '16, 17:51

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Hallo Henri, Super, vielen Dank dir! Ich kann hier leider nicht komplett antworten, deswegen schreibe ich dies alles in eine neue Frage, unter meinen jetzigen Post!

(23 Aug '16, 10:24) Starboma

@Starboma Verfasse für jede neue Frage eine neue Frage :-) Hier sind Antworten stets "echte" Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Ungewohnt und anders als in Web-Diskussions-Foren, doch innovativ und nutzbarer als sortierte Archivlösung. Keine Sorge, Henri und wir anderen sehen die neue Frage auch.

(23 Aug '16, 16:23) stefan ♦♦

Das folgende mit xelatex laufen lassen.

Open in Online-Editor
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{tag.dat}
380 0
390 0.0001
400 0.0004
410 0.0012
420 0.004
550 0.995
560 0.995
740 0.00025
750 0.00012
760 0.00006
770 0.00003
780 0.000015
\end{filecontents*}
\begin{filecontents*}{nacht.dat}
380 0.000589
390 0.002209
400 0.00929
410 0.03484
420 0.0966
430 0.1998
500 0.982
510 0.997
760 0.000000425
770 0.000000241
780 0.000000139
\end{filecontents*}
\usepackage{fontspec}
\usepackage{pst-spectra,pst-plot}
\begin{document}

\begin{pspicture}(-1,-1.5)(9.1,5.1)
\psaxes[Ox=350,Dx=50,dx=1,xticksize=0 5,yticksize=0 9,
  xsubticks=5,xsubticksize=1,xsubtickcolor=black!15,
  tickcolor=black!25,Dy=0.2,dy=1,labelFontSize=\scriptstyle,
  axesstyle=frame](0,0)(9,5)
\readdata{\tag}{tag.dat}\readdata{\nacht}{nacht.dat}
\pstScalePoints(1,1){350 sub 50 div}{5 mul}
\pslistplot[linecolor=red,linewidth=1.2pt,plotstyle=line]{\tag}
\pslistplot[linecolor=blue,linewidth=1.2pt,plotstyle=line]{\nacht}
\rput[l](5.1,4){\textcolor{red}{Tagsehen}}
\rput[r](2.6,4){\textcolor{blue}{Nachtsehen}}
\psspectrum[begin=350,end=800](0,-1)(9,-1.5)
\rput{90}(-1,2.5){Hellempfindlichkeitsgrad V[-]}
\rput(4.5,-0.75){Wellenlänge $\lambda$ [nm]}
\end{pspicture}

\end{document}

alt text

Permanenter link

beantwortet 24 Aug '16, 20:59

crazyhorse's gravatar image

crazyhorse
4323
Akzeptiert-Rate: 26%

bearbeitet 24 Aug '16, 21:03

Ich würde es so machen:

colorwav.sty laden.

In der axis-Umgebung Koordinaten festlegen:

Open in Online-Editor
% Lichtsprektrum 1von2 "Koordinaten festlegen"
\foreach \W in {350,...,800} {
    \edef\temp{\noexpand\coordinate (Koord\W) at (axis cs:\W,0);}
    \temp
}

In der tikzpicture-Umgebung zeichen, so dass Lichtsprektrum genau unter der x-Koordinatenachse erscheint:

Open in Online-Editor
% Lichtsprektrum 2von2 "zeichnen"
\foreach \LAMBDA in {350,...,800}
{
\storeRGBofWavelength{\Rval}{\Gval}{\Bval}{\LAMBDA}
\definecolor{Name}{rgb}{\Rval,\Gval,\Bval}
\draw[Name, thick] ([yshift=-2cm]Koord\LAMBDA)--([yshift=-1.25cm]Koord\LAMBDA);
}
%

alt text

Open in Online-Editor
\RequirePackage{filecontents}
\begin{filecontents}{Tagsehen.csv}
380 0
390 0.0001
400 0.0004
410 0.0012
420 0.004
550 0.995
560 0.995
740 0.00025
750 0.00012
760 0.00006
770 0.00003
780 0.000015
\end{filecontents}
%
\begin{filecontents}{Nachtsehen.csv}
380 0.000589
390 0.002209
400 0.00929
410 0.03484
420 0.0966
430 0.1998
500 0.982
510 0.997
760 0.000000425
770 0.000000241
780 0.000000139
\end{filecontents}

%\documentclass[border=5pt, varwidth]{standalone}
\documentclass[10pt,a4paper]{article}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{microtype}

\usepackage{amsmath, amsfonts, amssymb}
\usepackage{xcolor}
\usepackage{pgfplots}
\usetikzlibrary{quotes,angles,babel,calc,3d,intersections,shapes,}
\usepackage{tikz}
\usepackage{graphicx}

\usepackage{colorwav}
\begin{document}

\begin{figure}[h]
\centering

\begin{tikzpicture}
\begin{axis}[
% Allgm.
width=0.9\textwidth, height=0.3\textheight,
title = {V-$\lambda$-Kurve},
xlabel={Wellenlänge $\lambda$ [nm]},
ylabel={Hellempfindlichkeitsgrad V [-]},
legend style={at={(1,1)}, anchor=north east, nodes=right}, 
%name=main,
% x:
xmin = 350,  xmax = 800, 
minor xtick={350,360,...,800},
% y:
ymin=0, ymax=1,
ytick distance=0.2,
minor ytick={0.1,0.2,...,1},
% x und y: 
grid =both, %both, %major, minor
ticklabel style = {font=\footnotesize}
%axis line style={thick},
]
\addplot [no marks,  very thick, red]table {Tagsehen.csv};
\addplot [no marks,  very thick, blue]table {Nachtsehen.csv};
\legend{Tagsehen, Nachtsehen};
%
% Lichtsprektrum 1von2 "Koordinaten festlegen"
\foreach \W in {350,...,800}{
    \edef\temp{\noexpand\coordinate (Koord\W) at (axis cs:\W,0);}
    \temp
}
\end{axis}
%
% Lichtsprektrum 2von2 "zeichnen"
\foreach \LAMBDA in {350,...,800}{
\storeRGBofWavelength{\Rval}{\Gval}{\Bval}{\LAMBDA}
\definecolor{Name}{rgb}{\Rval,\Gval,\Bval}
\draw[Name, thick] ([yshift=-1.25cm]Koord\LAMBDA)--([yshift=-2cm]Koord\LAMBDA);
}
% Zusatz "Skala für Lichtspektrum"
\foreach \Lambda in {350,400,...,800}{
\draw[very thin] ([yshift=-1.9cm]Koord\Lambda)--([yshift=-2.1cm]Koord\Lambda) node[below, font=\footnotesize]{\Lambda};
}
%
\end{tikzpicture}
\caption {Relative-Spektrale-Hellempfindlichkeitskurve \cite{Reif.2014}}
\label{Vlambda}
\end{figure}
\end{document}
Permanenter link

beantwortet 24 Aug '16, 19:29

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

bearbeitet 26 Aug '16, 14:58

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×296
×11
×1

gestellte Frage: 22 Aug '16, 13:31

Frage wurde gesehen: 8,555 Mal

zuletzt geändert: 26 Aug '16, 14:58