Seite 1 von 2

Diagramm nach DIN 461 erstellen

Verfasst: Sa 4. Nov 2017, 12:20
von Patrick1990
Hallo,

der Betreuer meiner wissenschaftlichen Arbeit wünscht sich Diagramme der angehangenen Form.

Habe dazu mal ein Minimalbeispiel erstellt, geht das irgendwie eleganter (ohne dass ich alles selbst positionieren muss)?
Evtl. eine Eingabe Beschriftung von x bis y und bei der vorletzten Beschriftung die Einheit und mittig darunter bzw. links daneben die Koordinate mit langem Pfeil?

\documentclass[margin=5mm]{standalone}
\usepackage{siunitx}
\usepackage{tikz}
\usetikzlibrary{intersections, arrows}
\begin{document}
\begin{tikzpicture}[]
   % Achsen zeichnen
   \draw[->,thick] (0,0) -- (9,0);
   \node[below] at (7,-0.5) {$x \longrightarrow$};
   \draw[->,thick] (0,0) -- (0,9);
    \node[left, rotate = 90] at (-1,7.5) {$y \longrightarrow$};
   % Achsen beschriften
   \foreach \c in {0,2,4,...,8}{
     \draw (\c,-.1) -- (\c,.1) node[below=4pt] {$\c$};
     \draw (-.1,\c) -- (.1,\c) node[left=4pt] {$\c$};
   }
   \node[left] at (0,7) {$\si{\milli\meter}$};
   \node[below] at (7,0) {$\si{\milli\meter}$};
    %Funktionen zeichnen:
    \path[clip](0,0) rectangle (9,9);
    \draw[] plot (\x, {2*pow(\x-3,2)-3});  
\end{tikzpicture} 
\end{document}
Vielen Dank.

Ein Bild anhängen

Verfasst: Sa 4. Nov 2017, 12:50
von Gast
Manche scheinen es niemals zu lernen :-/
http://golatex.de/wie-haenge-ich-ein-bi ... 18411.html

Re: Ein Bild anhängen

Verfasst: Sa 4. Nov 2017, 13:04
von Patrick1990
Anonymous hat geschrieben:Manche scheinen es niemals zu lernen :-/
http://golatex.de/wie-haenge-ich-ein-bi ... 18411.html
Wo ist das Problem?
War dir das angehangen Foto zu groß?

Verfasst: Sa 4. Nov 2017, 13:27
von Gast
Das Problem ist, dass Du entweder den verlinkten Beitrag nicht gelesen hast oder nicht bis zum Ende gelesen hast oder eben den Teil nach der ersten Abbildung darin nicht beachtet hast.

Verfasst: Sa 4. Nov 2017, 13:29
von Gast
Plots gehen übrigens prima mit pgfplots. Man kann auch nachträglich in die Plots hinein schreiben.

Verfasst: Sa 4. Nov 2017, 16:15
von Patrick1990
Ist jetzt denn alles zu deiner Zufriedenheit?
Ja, pgfplots kenne ich, mir geht es einzig um die Achsenbeschriftung in dem auf dem Bild erkennbaren Stil.

Re: Diagramm nach DIN 461 erstellen

Verfasst: Sa 4. Nov 2017, 17:27
von Bartman
Patrick1990 hat geschrieben:Habe dazu mal ein Minimalbeispiel erstellt, geht das irgendwie eleganter (ohne dass ich alles selbst positionieren muss)?
\documentclass[tikz, margin=5mm]{standalone}
\usepackage{siunitx}

\begin{document}
\begin{tikzpicture}
% Achsen zeichnen
\draw[->,thick] (0,0) -- (9,0) 
	node [below, pos=.78] {\si{\mm}} 
	node [below=5mm, pos=.78] {$x \longrightarrow$};
\draw[->,thick] (0,0) -- (0,9) 
	node [left, pos=.78] {\si{\mm}}
	node [left=1cm, pos=.83, rotate=90] {$y \longrightarrow$};
% Achsen beschriften
\foreach \c in {0,2,...,8}{
	\draw (\c,-.1) -- (\c,.1) node[below=4pt] {\c};
	\draw (-.1,\c) -- (.1,\c) node[left=4pt] {\c};
}
%Funktionen zeichnen:
\path[clip](0,0) rectangle (9,9);
\draw plot (\x, {2*pow(\x-3,2)-3});  
\end{tikzpicture} 
\end{document}

Verfasst: Mi 8. Nov 2017, 20:06
von Patrick1990
Vielen Dank, ist das auch mit pgf so möglich? Ich bin hier noch nicht weiter gekommen.
\documentclass[margin=5mm]{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
xlabel=Konzentration in $\si{\percent}$,
ylabel= Oberflächenspannung in $\si{\milli\newton\per\meter}$
]
\addplot[mark=o,error bars/.cd,y dir=both,y explicit]coordinates
{
(0,68.40891501)  +- (0,4.778953312) 
(20,63.98903632) +- (0,4.115686076)
(40,60.64486555) +-  (0,6.848451706)
(60,62.39588189) +- (0,7.741357204)
};
\legend{Messung\\}
\end{axis}
\end{tikzpicture}	
		
\end{document}

Verfasst: Do 9. Nov 2017, 08:48
von Gast
Grundsätzlich ist pgfplots natürlich ebenfalls tikz, so dass man alles, was man in tikz machen kann, auch in pgfplots machen kann. Mir ist jetzt aber ehrlich gesagt nicht klar, was der Plot mit der vorherigen Frage zu tun hat. Deshalb mal nur ein Beispiel, wie man nodes in einen Plot zeichnen kann und dabei auch Angaben wie right oder relative Koordinaten abhängig zu einem der von pgfplots definierten Koordinatensystem verwenden kann:
\documentclass[margin=10mm]{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{width=16cm,compat=1.15}
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
xlabel=Konzentration in \si{\percent} $\xrightarrow{\hspace{1cm}}$,
ylabel= Oberflächenspannung in \si{\milli\newton\per\meter}
$\xrightarrow{\hspace{1cm}}$,
]
\addplot[mark=o,error bars/.cd,y dir=both,y explicit]coordinates
{
(0,68.40891501)  +- (0,4.778953312) 
(20,63.98903632) +- (0,4.115686076)
(40,60.64486555) +-  (0,6.848451706)
(60,62.39588189) +- (0,7.741357204)
};
\draw node [coordinate,pin=above right:{$(20,63.98903632)$}] (P1) at (20,63.98903632)
{} node [below left] {Nice};
\node [pin=above:{90\% xaxis}] (P90) at (rel axis cs:0.9,0) {};
\draw [blue] (P90) -- (P1) node [above left] {Aha};
\legend{Messung}
\end{axis}
\end{tikzpicture}

\end{document}

Verfasst: Do 9. Nov 2017, 09:13
von Patrick1990
Das Problem war, dass die Einheit an vorletzter Stelle der Achsenbeschriftung stehen soll.
Dieses soll nicht immer manuell geschehen sondern bestenfalls automatisch mit den Eingaben Startwert, Inkrement, Endwert, Einheit für jede Achse. Daraufhin sollen die ticks und die ticklabels erstellt werden.