Diagramm nach DIN 461 erstellen

Tabellen und Grafiken erstellen und anordnen


Patrick1990
Forum-Century
Forum-Century
Beiträge: 196
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Diagramm nach DIN 461 erstellen

Beitrag 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.
Dateianhänge
Bildschirmfoto 2017-11-04 um 11.58.19.png
Bildschirmfoto 2017-11-04 um 11.58.19.png (36.9 KiB) 2531 mal betrachtet
Zuletzt geändert von Patrick1990 am Sa 4. Nov 2017, 13:06, insgesamt 1-mal geändert.

Gast

Ein Bild anhängen

Beitrag von Gast »

Manche scheinen es niemals zu lernen :-/
http://golatex.de/wie-haenge-ich-ein-bi ... 18411.html

Patrick1990
Forum-Century
Forum-Century
Beiträge: 196
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Re: Ein Bild anhängen

Beitrag 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ß?

Gast

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

Gast

Beitrag von Gast »

Plots gehen übrigens prima mit pgfplots. Man kann auch nachträglich in die Plots hinein schreiben.

Patrick1990
Forum-Century
Forum-Century
Beiträge: 196
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

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

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

Re: Diagramm nach DIN 461 erstellen

Beitrag 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}

Patrick1990
Forum-Century
Forum-Century
Beiträge: 196
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Beitrag 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}

Gast

Beitrag 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}

Patrick1990
Forum-Century
Forum-Century
Beiträge: 196
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

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

Antworten