Unter »pgfplots: x-Achse mit Strings« habe ich ein Problem mit String-Daten für die x-Achse geschildert, das ich mit Hilfe von »pgfplots using strings from data table as x axis labels in bar chart« lösen konnte:

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage[normalem]{ulem} 
\usepackage{tikz} 
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot} 
\usepackage{subcaption}
\usepackage{filecontents}
\begin{filecontents}{datensuperfein.dat}
    x,y   
    ETD 29/16/10,9.60
    ETD 34/17/11,13.21
    ETD 39/20/13,19.92
    ETD 44/22/15,29.96
    ETD 49/25/16,40.34
    PQ 20/20,5.80
    PQ 26/20,10.15
    PQ 26/25,12.47
    PQ 32/20,14.43
    PQ 32/30,21.37
\end{filecontents}

\pgfplotstableread[col sep=comma]{datensuperfein.dat}\datatable
\makeatletter
\pgfplotsset{
    /pgfplots/flexible xticklabels from table/.code n args={3}{%
        \pgfplotstableread[#3]{#1}\coordinate@table
        \pgfplotstablegetcolumn{#2}\of{\coordinate@table}\to\pgfplots@xticklabels
        \let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x
    }
}

\begin{document}

\begin{figure}
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            ybar, ymin=0,
            xlabel=Xstuff,
            ylabel=Value,
            flexible xticklabels from table={datensuperfein.dat}{x}{col sep=comma},
            xticklabel style={text height=1.5ex}, % To make sure the text labels are nicely aligned
            xtick=data,
            nodes near coords,
            nodes near coords align={vertical}]
            \addplot table[x expr=\coordindex,y=y]{\datatable};
        \end{axis}
    \end{tikzpicture}
    \caption{Caption}
\end{figure}
\end{document}

Dazu nur ein paar Fragen:

Ich verstehe nicht so ganz, warum

Öffne in Overleaf
\pgfplotstableread[col sep=comma]{datensuperfein.dat}\datatable

bereits in der Präambel geladen werden muss. Das erscheint mir etwas unlogisch, gehört das doch eigentlich nur zu einem einzigen Graphen. Was, wenn ich jetzt mehrere Graphen erstelle, mit unterschiedlichen x-Labels, müssen die Einstellungen alle in die Präambel? Gibt es eine Möglichkeit, alle relevanten Einstellung direkt in zwischen \begin{tikzpicture} und \end{tikzpicture} einzubinden um eine gewissen Übersichtlichkeit zu wahren (sprich diese Einstellung gehört exakt zu diesem einen Graph)?

gefragt 06 Jun '18, 11:47

SF6's gravatar image

SF6
15953440
Akzeptiert-Rate: 0%

geschlossen 01 Jul '18, 14:57

saputello's gravatar image

saputello
11.1k154365

1

Bitte stelle Folgefragen nicht als Antworten, sondern als neue Fragen! Bitte achte außerdem auf korrektes Markdown für Inline-Code, also `\begin{tikzpicture}`, damit korrekt \begin{tikzpicture} statt nur begin{tikzpicture} angezeigt wird.

(06 Jun '18, 13:01) saputello
1

Ich habe die Konvertierung in eine Folgefrage einmal beispielhaft durchgeführt, obwohl ich mir im Klaren bin, dass sie durch die Antwort von @esdd auf die ursprüngliche Frage eigentlich überflüssig geworden ist. Du kannst die Frage hier ja schließen oder löschen, nachdem Du Dir angesehen hast, was ich aus der ursprünglichen Pseudoantwort sowohl inhaltlich als auch bezüglich korrekter Formatierung gemacht habe.

(07 Jun '18, 08:14) saputello

Die Frage wurde aus folgenden Grund "Antwort in der Antwort zu einer anderen Frage bereits enthalten (Sinnduplikat)." geschlossen saputello 01 Jul '18, 14:57

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
×39
×13
×4

gestellte Frage: 06 Jun '18, 11:47

Frage wurde gesehen: 2,724 Mal

zuletzt geändert: 01 Jul '18, 14:57