Seite 1 von 1

for-Schleife in axis-Umgebung bzw. vertikale Linien in plots

Verfasst: Do 31. Mär 2016, 14:12
von dralban
Hallo zusammen,

leider habe ich noch einmal ein Problem mit tikz.

Der folgende Code gibt mir immer einen "Undefined Control Sequence" wegen \end{axis} aus, was meiner Meinung nach allerdings keinen Sinn macht.

Ich glaube es gibt irgendwie ein Problem mit der for-Schleife in der axis-Umgebung, aber ich komm nicht dahinter.

Mich wundert an dem Minimalbeispiel auch, dass die Linie, die nicht über die Schleife gezeichnet wird, ebenfalls nicht dargestellt wird, falls man die Schleife auskommentiert.

Leider muss ich innerhalb der axis-Umgebung zeichnen, da das Problem aus einem größeren Code stammt, bei dem ich Daten einlese und bei bestimmten x-Werten eine vertikale Linie zeichnen will.

Falls das auch einfacher geht, würde mir das auch helfen ;-)


Vielen Dank schon einmal für eure Hilfe!!

\documentclass[a4paper,12pt,twoside,halfparskip,openright,cleardoubleempty,bibtotoc,liststotoc,tablecaptionabove]{scrreprt} 
\usepackage{ngerman} 
\usepackage[utf8]{inputenc} 
\usepackage[pdftex]{graphicx} 
\usepackage{hyperref} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{tikz} 
\usepackage{tikz-3dplot} 
\usepackage{pgfplots} 

\begin{document} 


\begin{figure}
	\centering
	\begin{tikzpicture}
	\def\h{8cm}
	\def\w{14cm}
	\def\xo{5}
	
	
	\begin{axis}[
	width=\w,
	height=\h,
	grid=major,
	xmin=0,
	xmax=6,
	ymin=0,
	ymax=10,
	xlabel=x,
	ylabel=y]

	\addplot {2*x};
	
	\draw[red,dashed,thick] (\xo,0) -- (\xo,7) node[above]{abcde};
	
	\foreach \i in {0,1,...,5}{
		\draw[red,dashed,thick] (\i,0) -- (\i,7) node[above]{};
	};
	
	\end{axis}
	
	\end{tikzpicture}
\end{figure}

\end{document}

Verfasst: Do 31. Mär 2016, 14:50
von u_fischer
\documentclass[a4paper,12pt,twoside,halfparskip,openright,cleardoubleempty,bibtotoc,liststotoc,tablecaptionabove]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[pdftex]{graphicx}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}

\begin{document}


\begin{figure}
\centering
\begin{tikzpicture}
\def\h{8cm}
\def\w{14cm}
\def\xo{5}


\begin{axis}[
width=\w,
height=\h,
grid=major,
xmin=0,
xmax=6,
ymin=0,
ymax=10,
xlabel=x,
ylabel=y]

\addplot {2*x};


\draw[red,dashed,thick] (axis cs:\xo,0) -- (axis cs: \xo,7) node[above]{abcde};

\pgfplotsforeachungrouped \i in {0,1,...,5}{
\edef\temp{\noexpand\draw[red,dashed,thick] (axis cs:\i,0) -- (axis cs:\i,7) node[above]{};}
\temp
};

\end{axis}

\end{tikzpicture}
\end{figure}

\end{document}
Für Erklärung siehe die Doku, Kapitel 8.

Verfasst: Do 31. Mär 2016, 15:07
von dralban
Hammer! Vielen Dank für die schnelle Hilfe!!!
Werde das jetzt mal versuchen in den großen Code zu übertragen.

Verfasst: Do 31. Mär 2016, 15:55
von dralban
hat auch funktioniert! VIELEN DANK!!