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

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: for-Schleife in axis-Umgebung bzw. vertikale Linien in plots

von dralban » Do 31. Mär 2016, 15:55

hat auch funktioniert! VIELEN DANK!!

von dralban » Do 31. Mär 2016, 15:07

Hammer! Vielen Dank für die schnelle Hilfe!!!
Werde das jetzt mal versuchen in den großen Code zu übertragen.

von u_fischer » Do 31. Mär 2016, 14:50

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

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

von dralban » Do 31. Mär 2016, 14:12

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}

Nach oben