Hallo,

ich möchte gern diese zwei Grafiken in TeX umsetzen. Bei dem linearen Kennlinienfeld kann ich mir vorstellen dies eventuell allein zu schaffen aber es würde sicher ewig dauern, bei dem nichtlinearen habe ich keine Ahnung. Kann mir jemand helfen?

Lineares Kennlinienfeld

Nichtlineares Kennlinienfeld

Vielen Dank.

gefragt 08 Jun '14, 13:14

Patrick1990's gravatar image

Patrick1990
1143711
Akzeptiert-Rate: 0%

bearbeitet 08 Jun '14, 13:43

stefan's gravatar image

stefan ♦♦
18.3k163148

Herzlich willkommen auf der TeXwelt! Was sind denn die Funktionen, was definiert diese Kurven? Man muss sie ja irgendwie durch Werte oder Formeln spezifizieren.

(08 Jun '14, 13:40) stefan ♦♦

Hier ist einmal ein Ansatz, der eine Umsetzung mit pgfplots zeigt. Ich verwende die fillbetween library, das setzt mindestens pgfplots 1.10 voraus. Weiterhin wird die TikZ-Bibliothek intersections benutzt.

Für konsistente Aussehen und vereinfachtes Schreiben habe ich Stile definiert für Hilfslinien und Funktionen. So braucht man nur an einer Stelle zu ändern. axis cs bezieht sich auf das Achsenkoordinatensystem, |- bzw. -| ist eine Schreibweise für vertikal/horizontale Schnitte, damit zeichne ich Hilfslinien von der Achse zum jeweiligen Schnittpunkt.

Open in writeLaTeX
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[
    hilfslinie/.style = {help lines, dashed},
    funktion/.style = {black, thick, mark = none}
  ]
  \begin{axis}[
      axis y line = left,
      axis x line = bottom,
      xtick       = \empty,
      ytick       = \empty,
      samples     = 160,
      domain      = 0:5,
      xmax = 6,
      ymax = 6,
    ]
    \addplot[funktion, name path global = funktion1] {sqrt(x)};
    \addplot[funktion, name path global = funktion2] {2*sqrt(x)};
    \addplot[gray!60] fill between [
      of = funktion1 and funktion2,
      soft clip = {domain = 0:3}
    ] ;
    \path[name path = linie] (axis cs:3,0) -- (axis cs:3,4);
    \draw[hilfslinie, name intersections = {of = funktion1 and linie}]
      ({axis cs:3,0}-|intersection-1) -- (intersection-1);
    \draw[hilfslinie, name intersections = {of = funktion1 and linie}]
      ({axis cs:0,0}|-intersection-1) -- (intersection-1);
    \draw[hilfslinie, name intersections = {of = funktion2 and linie}]
      ({axis cs:0,0}|-intersection-1) -- (intersection-1);
  \end{axis}
\end{tikzpicture}
\end{document}

Kennlinienfeld

Falls Dir das zusagt und Du eine Umsetzung mit pgfplots ins Auge fasst, kannst Du gern Folgefragen stellen, falls Du evtl. auf Probleme stößt, Beschriftung Achsen und Punkte beispielsweise. Bevor ich nicht weiß, ob Du vielleicht TikZ oder PSTricks bevorzugst, vertiefe ich das noch nicht - und es ist hier sowieso willkommen, konkrete Einzelfragen zu stellen statt Sammelthreads, auch wenn die gleiche komplexe Grafik damit entwickelt wird. Freue mich auf weitere interessante Fragen von Dir!

Permanenter link

beantwortet 08 Jun '14, 15:19

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

Vielen Dank, sieht super aus. Ich habe bisher noch mit xlabel und ylabel Achsenbeschriftungen hinzugefügt (diese sind sehr nah an den Achsen), jedoch komme ich nicht weiter mit der weiteren Beschriftung des Plots, wie geht man da voran?

(09 Jun '14, 09:05) Patrick1990

@Patrick1990 TeXwelt funktioniert etwas anders (besser :-) ) als ein Diskussionsforum. Statt langen Threads hat man hier konkrete Antworten auf Fragen nach Themen archiviert und nach Qualität (Stimmen) sortiert. So finden Suchende via Google gleich die beste Lösung ganz oben. In diesem Sinne poste gern eine neue Frage a la "Wie beschrifte ich einen Plot?" mit dem aktuellen Stand Deines Codes. Hunderte können das via Google finden für Beschriftung ihrer Plots, während diese Problemstellung als Teil einer Kennlinienfeld-Diskussion einfach untergeht. Ich schaue gern jede Folgefrage an.

(09 Jun '14, 09:25) stefan ♦♦

@Patrick1990 Falls die Antwort von Stefan deine Eingangsfrage beantwortet, dann kannst du seine Antwort akzeptieren, in dem du auf den Haken unterhalb der Daumen klickst.

(09 Jun '14, 13:53) esdd
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×28

gestellte Frage: 08 Jun '14, 13:14

Frage wurde gesehen: 8,706 Mal

zuletzt geändert: 09 Jun '14, 13:53