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
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 |
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.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.