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, 05:47

SF6's gravatar image

SF6
159429
Akzeptiert: 33%

geschlossen 01 Jul, 08:57

saputello's gravatar image

saputello
20.6k53458

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, 07: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, 02:14) saputello

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

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×236
×17
×13
×3

Frage gestellt: 06 Jun, 05:47

Frage wurde angeschaut: 195 Mal

Zuletzt aktualisiert: 01 Jul, 08:57