tikz - Einfügen von Diagrammen (aus Makro) von Unterordner

Tabellen und Grafiken erstellen und anordnen


mrks
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Fr 27. Jul 2018, 10:14

tikz - Einfügen von Diagrammen (aus Makro) von Unterordner

Beitrag von mrks »

Hallo, im Verlauf der Erstellung meiner Diplomarbeit stehe ich nun vor dem Problem, dass ich eine Vielzahl von Diagrammen in das Dokument einfügen soll. Da es relativ viele sind, hätte ich gerne, dass diese aus einem eigenen Unterordner geladen werden. Jedoch funktioniert dies nicht wie gehofft.
Das Vorgehen dazu ist, dass ich in dem Unterordner für jedes Diagramm (tikzpicture) einen eigenen .tex file erstelle, welcher die Daten aus einem .txt file lädt, der sich im selben Ordner befindet.

Bei den Diagrammen handelt es sich um Säulendiagramme, welche auf der x-Achse mit Namen gruppiert werden sollen. Dabei handelt es sich um relativ lange Namen, in welchen zwangsläufig Unterstriche vorkommen. Aufgrund der Länge der Namen müssen diese etwas gedreht werden, damit sich diese nicht überschneiden. Der Versuch mit
symbolic x coords={Name\_1,Name\_2,Name\_3,Name\_4},
xtick=data,
xticklabel style={rotate=45},

funktionierte so weit, dass die Bezeichnungen, wenn diese im .txt file in gleicher Weise angegeben wurden, auch richtig angezeigt wurden, wollte man aber die Drehung erzielen führte dies zu einer Fehlermeldung von xticklabel style. Zudem war die Veränderung der Reihenfolge der Bezeichnungen und Werte relativ aufwändig.
Eine viel bessere Lösung fand ich schließlich im Internet, in der das Einlesen der Daten über ein Makro geschieht. Dieses funktioniert auch einwandfrei beim kompilieren der eigenständigen .tex Datei, möchte ich diese aber dann in meine main Datei einfügen, kommt es stets zu einer Fehlermeldung. Ebenfalls die Unterstriche in der Dateibenennung von .txt und .tex lassen sich nicht vermeiden.


Code der main.tex:
\documentclass[
a4paper,
12pt,
oneside,
parskip=half 
]{scrbook}													

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{standalone}

\begin{document}

\begin{figure}[htbp]
	\centering
	\def\svgwidth{420pt}
	\input{charts/4.1_Messwerte_Konfig_A}
	\caption{Messwerte A}	
	\label{chart:MesswerteA}
\end{figure}

\end{document}

Code der .tex Datei für das Diagramm (gespeichert im charts/ Ordner unter 4.1_Messwerte_Konfig_A.tex):
\documentclass{standalone}

\usepackage{pgfplots}
\usepackage{pgfplotstable}


\pgfplotstableread[]{charts/4.1_Messwerte_Konfig_A.txt}\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
    }
}
\makeatother


\begin{document}
\begin{tikzpicture}

\begin{axis}[
ybar, 
flexible xticklabels from table={charts/4.1_Messwerte_Konfig_A.txt}{Bezeichnung}{},
xticklabel style={rotate=45, anchor=north east},
xtick=data,
]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addplot [blue, fill=blue!30, error bars/.cd, y dir = both, y explicit] 
	table[/pgf/number format/read comma as period, x expr=\coordindex,y={Wert_1}, y error={Fehler_2}]{charts/4.1_Messwerte_Konfig_A.txt};
	
\addplot [red, fill=red!30, error bars/.cd, y dir = both, y explicit]
	table[/pgf/number format/read comma as period, x expr=\coordindex, y={Wert_2}, y error={Fehler_2}]{charts/4.1_Messwerte_Konfig_A.txt};
	
\legend{Fall A ,Fall B}

\end{axis}

\end{tikzpicture}
\end{document}
Die txt-Datei ist im Anhang eingefügt.


Fehlermeldung:

! Package pgfkeys Error: I do not know the key '/tikz/flexible xticklabels from
table', to which you passed '{charts/4.1_Messwerte_Konfig_A.txt}{Bezeichnung}{
}', and I am going to ignore it. Perhaps you misspelled it.
See the pgfkeys package documentation for explanation.


Wie gesagt, das Laden der eigenständigen .tex Datei des Diagramms funktioniert anstandslos, wenn der Pfad korrigiert wird.
Vielleicht kennt jemand hierzu eine Lösung, ich wäre auf jeden Fall sehr dankbar.

Viele Grüße Markus
Dateianhänge
4.1_Messwerte_Konfig_A.txt
(272 Bytes) 243-mal heruntergeladen