Achsenbeschriftung Tikz

Tabellen und Grafiken erstellen und anordnen


icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Achsenbeschriftung Tikz

Beitrag von icecoldkilla »

Hey,

ich bin Latex Neuling und hab bin gerade dabei eine Grafik nachzustellen, es soll sich dabei um diese Grafikhttps://www.energie-lexikon.info/img/ph ... erung1.png.

Bin soweit zufrieden, allerdings komm ich mit der Achsenbeschriftung gar nicht zurecht. Hab in der TikZ Doku gelesen, aber da funktionieren die Beispiele auch nicht richtig gut bei mir.

Würd mich freuen, wenn mir wer Tipps bezüglich der Achsenbeschriftung geben kann
und wenn wer über den Code drüber schauen kann. Geht es eventuell noch einfacher als wie ich das gemacht habe?
\documentclass[parskip=full]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{marvosym}
\usepackage{float}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{gensymb}
\usepackage{todonotes}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage[per-mode=fraction, decimalsymbol=comma]{siunitx}
\usepackage{babelbib}
\usepackage{textcomp}
\usepackage[hidelinks]{hyperref}


\begin{document}
	
	\begin{tikzpicture}[domain=0:14] 
		\draw[step=1, gray, very thin, loosely dotted] (0,-2.5) grid (14,2.5);
		\draw[->, thick] (-0.2,0) -- (14.3,0) node[right] {$t$};
		\draw[->, thick] (0,-2.6) -- (0,2.6) node[above] {$V(t)$}; 
	
		\draw [color=black, samples=300, dashed] plot (\x, {2*sin(\x r});
	
		\begin{scope}[color=red, samples=10, very thick]
			\draw [domain=2.3:3.1415] plot (\x, {2*sin(\x r});
			\draw [domain=5.441:6.2841] plot (\x, {2*sin(\x r});
			\draw [domain=8.583:9.4247] plot (\x, {2*sin(\x r});
			\draw [domain=11.7247:12.566] plot (\x, {2*sin(\x r});
		\end{scope}
	
	
		\begin{scope}[color=red, very thick]
			\draw (0,0)--(2.3,0);
			\draw (2.3,0)--(2.3,1.4914);
			\draw (5.441,0)--(5.441,-1.4914);
			\draw (3.1415,0)--(5.441,0);
			\draw (8.583,0)--(8.583,1.4914);
			\draw (6.2841,0)--(8.583,0);
			\draw (11.7247,0)--(11.7247,-1.4914);
			\draw (9.4247,0)--(11.7247,0);
			\draw (12.566,0)--(14,0);
			\end{scope}	
		\end{tikzpicture}	
	
\end{document}

icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Beitrag von icecoldkilla »

PUSH

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Hi,

eine Möglichkeit wäre es, mit \foreach die Einteilungen selber zu zeichnen. Bei der Gelegenheit habe ich deine Plot-Operation ebenfalls verinfacht/verallgemeinert (und alles aus deinem Beispiel geschmissen, was hier nicht relavat ist …):
\documentclass[parskip=full]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{tikz}

\begin{document}
   \begin{tikzpicture}[domain=0:14] 
      \draw[step=1, thin, loosely dotted] (0,-2.5) grid (14,2.5); 
      \draw[->, thick] (-0.2,0) -- (14.3,0) node[right] {$t$}; 
      \draw[->, thick] (0,-2.6) -- (0,2.6) node[above] {$V(t)$}; 
    
      \draw [color=black, samples=50, dashed] plot (\x, {2*sin(\x r}); 
    
      \draw [red, samples = 50, very thick]
         (0,0) foreach \n in {1,...,4} {
               -- (\n*pi-pi/4,0) -- plot [domain=\n*pi-pi/4:\n*pi] (\x, {2*sin(\x r})
            };
      
      \foreach \x/\l in {0/0,pi/\pi,2*pi/2\pi} {
         \draw [thick] (\x,0.15) -- (\x,-0.15)
            node [below, fill=white, inner sep=2pt] {$\l$};
      }
      % oder auch
%      \foreach \x in {0,1,...,14} {
%         \draw [thick] (\x,0.15) -- (\x,-0.15)
%            node [below, fill=white, inner sep=2pt] {$\x$};
%      }
   \end{tikzpicture}
\end{document}
Außerdem habe ich dein Gitter mal auf Schwarz und etwas dicker gestellt, denn so ist es praktisch unsichtbar (und im Druck könnte es passieren, dass es tatsächlich ganz verschwindet)

Alternativ kannst du mit pgfplots arbeiten, das fügt Achsen und Co automatisch hinzu, allerdings hab ich auf die schnelle keine Möglichkeit gefunden, den roten Plot damit zu zeichnen …

[/p]
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

iTob hat geschrieben: Alternativ kannst du mit pgfplots arbeiten, das fügt Achsen und Co automatisch hinzu, allerdings hab ich auf die schnelle keine Möglichkeit gefunden, den roten Plot damit zu zeichnen …
Mit einer aktuellen pgfplots Version kann man den Code für roten Plot einfach von Dir übernehmen ;-)
\documentclass[parskip=full]{scrbook} 

\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage{lmodern} 
\usepackage{pgfplots}
\pgfplotsset{compat=1.12} 

\begin{document} 

\begin{tikzpicture}
  \begin{axis}[
    x=1cm,y=1cm,
    xlabel=$t$,ylabel=$V(t)$,
    domain=0:14,xmin=0,xmax=14,
    ytick={-2,...,2},
    grid=major,
    grid style=dashed
  ]
    \addplot[dashed,thick,samples=100] {2*sin(deg(x))};
    \draw(current axis.left of origin)--(current axis.right of origin);
    \draw [red,thick, samples = 50, very thick] 
      (0,0) foreach \n in {1,...,4} { 
         -- (\n*pi-pi/4,0) -- plot [domain=\n*pi-pi/4:\n*pi] (\x, {2*sin(\x r}) 
      }--(14,0); 
  \end{axis}
\end{tikzpicture}
\end{document}
Bild
Dateianhänge
gl_rplot.png
gl_rplot.png (10.86 KiB) 3699 mal betrachtet

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Danke für die Ergänzung. Das hatte ich probiert … vielleicht sollte ich meine Distribution auch mal wieder aktualisieren 8) :roll:
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

@icecoldkilla

Das Einheitenzeichen der elektrischen Spannung ist zwar V, aber das Formelzeichen ist U, also an Deiner y-Achse: U(t).

Müssen die Zahlenwerte der Achsenbeschriftungen aus Deiner Abbildung übernommen werden?

icecoldkilla
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: So 27. Dez 2015, 16:16

Beitrag von icecoldkilla »

Wow, super, vielen Dank euch.
Hatte mir schon gedacht, dass man die allgemeine Kurenform vereinfachen kann. Naja, Anfänger eben :)

Antworten