Hallo, ich würde gerne eine 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 |
Ich würde kein 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} beantwortet 22 Aug '16, 17:51 Henri 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 ♦♦
|
Ich würde es so machen:
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); } % 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} beantwortet 24 Aug '16, 19:29 cis |
Das folgende mit 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} beantwortet 24 Aug '16, 20:59 crazyhorse |
Siehr auch hier: http://texwelt.de/wissen/fragen/12608/lichtspektrum-in-tikz-zeichnen mit colorwav.sty