Vertikale Striche zur x-Achse mit pgfplots/tikzpicture

Tabellen und Grafiken erstellen und anordnen


ChemSim
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 74
Registriert: Fr 14. Feb 2020, 14:13

Vertikale Striche zur x-Achse mit pgfplots/tikzpicture

Beitrag von ChemSim »

Hallo zusammen,

ich nutze pgfplots zusammen mit tikzpicture, um meine Plots zu erstellen. Hier der Code:
\documentclass{article}

% TikZ & PGF-Plots
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=tikz/,optimize command away=\includepdf]

\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{figure}[ht]
    \centering
        \begin{tikzpicture}
        \pgfplotsset{
            width=10cm, % Breite 
            height=8cm, % Höhe 
            scale only axis,
            xmin=10, xmax=120,
            xtick={10, 20, ..., 120}, % Skalierung x-Achse
            xtick pos=bottom, % Ticks nur unten auf der x-Achse
            xtick align=outside, % Ticks zeigen nach innen
            xlabel={x-Achse}, % Beschriftung x-Achse
        }
        
        \begin{axis}[
            axis y line*=left, % y-Achse links
            ylabel={y-Achse}, % Beschriftung y-Achse
            ymin=-50, ymax=80, % Wertebereich y-Achse
            ytick=\empty, % keine Markierungen auf y-Achse
        ]

        % Fresh
        \addplot
        table[y=y1, y expr=\thisrow{y1}/2]
        {data/xrd.txt};

        % 60 °C
        \addplot
        table[y=y2, y expr=\thisrow{y2} + 20]
        {data/xrd.txt};

        % 70 °C
        \addplot
        table[y=y3, y expr=\thisrow{y3} + 40]
        {data/xrd.txt};

        % 80 °C
        \addplot
        table[y=y4, y expr=\thisrow{y4} + 60]
        {data/xrd.txt};
        
        \end{axis}

        \begin{axis}[
            axis y line*=right, % y-Achse rechts
            axis x line=none, % keine x-Achse
            ymin=-250, ymax=3500, % Wertebereich y-Achse
            ytick=\empty, % keine Markierungen auf y-Achse
        ]

        % Ref
        \addplot[only marks, mark size=0.5pt]
        table
        {data/xrd_ref.txt};

        \end{axis}
        
        \end{tikzpicture}
\end{figure}

\end{document}
Leider kann ich hier kein MWE bauen, da ich die Datensätze per
        \addplot
        table
        {data/<name>.txt};
importiere und es sich um sehr große Datensätze handelt. Soweit funktioniert auch alles super. Im letzten Teil füge ich einen anderen Plot mit dem Code
        \begin{axis}[
            axis y line*=right, % y-Achse rechts
            axis x line=none, % keine x-Achse
            ymin=-250, ymax=3500, % Wertebereich y-Achse
            ytick=\empty, % keine Markierungen auf y-Achse
        ]

        % Ref
        \addplot[only marks, mark size=0.5pt]
        table
        {data/xrd_ref.txt};

        \end{axis}
hinzu. Der Datensatz xrd_ref.txt besteht im Vergleich zu den anderen nur aus 37 Datensätzen (x, y).

Frage: Wie kann ich von jedem dieser Punkte (x, y) eine senkrechte Linie nach unten bis zur x-Achse (x=0) zeichnen?

Wäre über Hilfe sehr dankbar!

Anbei noch die PDF-Ausgabe des bisherigen Plots, es geht um die schwarzen marks, von denen aus ich die Striche nach unten zeichnen möchte.
output-figure3.pdf
(197.89 KiB) 12-mal heruntergeladen
Dateianhänge
xrd_ref.txt
(512 Bytes) 13-mal heruntergeladen
xrd.txt
(222.07 KiB) 5-mal heruntergeladen

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Re: Vertikale Striche zur x-Achse mit pgfplots/tikzpicture

Beitrag von localghost »

Abschnitt 4.5.7 der Anleitung zu »PGFplots« liefert die Lösung.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

Antworten