Hallo TeXwelt-Gemeinde, ich möchte verschiedene Spektren mit pgfplots plotten. Dabei möchte ich natürlich die Linien markieren. Dafür wären verschiedene Typen von Markierungen super.
Punkt 1 ist kein großen Problem. Punkt 2 schon eher. Open in writeLaTeX
\documentclass[a4paper]{article} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{pgfplots} \pgfplotsset{compat=1.8} \usetikzlibrary{positioning} \begin{document} \begin{tikzpicture} \begin{axis} \addplot {x^2 - x +4}; \draw [thick, gray, |-|] (axis cs:-2,20) -- (axis cs:3,20) node [black!75, pos=0.5, above=-1pt] {\tikz\draw (0,0) -- (1,0);}; \node[coordinate, pin = {[rotate=90]right:FI}] at (axis cs:4,23) { }; \end{axis} \end{tikzpicture} Es ist noch ein Problem, dass die Enden der Linie nur nach unten gehen (was nicht unbedingt sein muss) und die Markierung. Desweiteren suche dabei nach einer einfachen Möglichkeit an bestimmten Abständen eine Linie nach unten zu zeichnen, um z.B. Doppellinie zu markieren. Was nur Kosmetik wäre, aber ich muss bis jetzt den senkrechten Strich nach oben mit above=-1pt versetzen, damit keine Lücke besteht. Lange Rede, kurzer Sinn. Hat jemand eine zündende Idee, wie man das alles mit tikz/pgfplots umsetzt? Danke im Voraus! gefragt 29 Apr '14, 17:20 maphy-psd |
Wenn ich Dich richtig verstehe, fragst Du danach, wie die Spektren unterschiedlich markiert können und wie die zusätzlichen Einträge gemacht werden können. Standardmäßig werden mehrere Plots in einem Diagramm mit verschiedenen Farben und verschiedenen Markern dargestellt. Wenn der Datensatz eines Plotes aber viele Koordinaten enthält, dann stören die Marker schnell. Mit der Option Für die Beschriftung ist es sicher sinnvoll sich einen Stil zu definieren. Ich gehe davon aus, dass du die zusätzlichen Linien/Striche und Beschriftungen ähnlich zu deinem oberen Bild haben möchtest. Die Striche nach unten kannst du an den im Open in writeLaTeX
\documentclass[margin=5mm]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest} \newcommand\laenge{3ex}% Länge der Striche nach unten \tikzset{ beschriftung/.style={ thick,pin edge=thick, pin distance=\laenge, gray,text=black } } \begin{document} \begin{tikzpicture} \begin{axis}[ %cycle list name=color list, no markers ] \addplot {x^2 - x +4}; \addplot {0.5*x^2 - x +4}; \begin{scope}[beschriftung] \draw ([yshift=-\laenge]axis cs:-2,20)-- (axis cs:-2,20)-- coordinate(a)(axis cs:3,20) node[at end,above,anchor=south east]{N I} --+(0cm,-\laenge); \draw(a)--+(0cm,-\laenge); \node[coordinate,pin = {above:FI}] at (axis cs:4,23){}; \end{scope} \end{axis} \end{tikzpicture} \end{document} beantwortet 29 Apr '14, 22:51 esdd Vielen Dank! Genau das wollte ich. Hab das Beispiel noch etwas erweitert, sodass ich an beliebigen Stellen ein Strich nach unten machen kann.
\usetikzlibrary{calc} |
Da es sich beim Spektrum um Meßdaten handelt, wäre es sicher gut, wenn Du ein paar davon als Minimalbeispiel angibst, z.B. die für den 1. Peak. Man kann die Tabellendaten dann mit
verwenden.
Das wollte ich zunächst auch, jedoch handelt sich um hochaufgelöste Quasarspektren. Für einen 1nm-Bereich haben wir bereits ~200 Datenpunkte. Damit wollte ich das Minimalbeispiel nicht künstlich vergrößern. Bei Bedarf stelle ich aber gerne was rein.