Wie tippt man in so einem Diagramm, wie es im Bild einer Isotherme dargestellt ist?

Wie tippt man in so einem Diagramm, wie es im Bild einer Isotherme dargestellt ist?

PV-Diagramm einer Isotherme mit einigen Adiabatensegmenten

Wie kann ich ein solches Diagramm nachbilden? mit den Liniensegmenten und nicht unbedingt mit den Punkten (V_2, P_5, T_5), ... usw.

Antwort1

Wie in einigen Kommentaren erwähnt, möchten wir hier zunächst Ihre eigenen Versuche sehen. Da dieses Diagramm jedoch einige interessante Aspekte enthält, werde ich einen Weg zu Ihrem endgültigen Diagramm skizzieren. Dies ist übrigens mehr oder weniger das Verfahren zum Erstellen von Zeichnungen.

Weitere Informationen

Ich schlage vor, die Tutorial-Abschnitte im Tikz-Handbuch zu überfliegen oder zu lesen, entweder alshtmlvonpdf. Schauen Sie sich auch alle relevanten Tikz-Befehle an, die ich verwende.

Die Grundidee

Schauen wir uns zunächst die Grundidee an:

  • Zeichnen Sie die Achsen
  • Zeichnen Sie die untere Kurve
  • Geben Sie die für Ihre Punktierung benötigten Punkte an
  • Punkte oberhalb der unteren Kurve verbinden

Äxte: nichts Ungewöhnliches hier ... zeichne sie einfach.

    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0);
    \draw[->] (0,0) -- (0,5);

Nun scheint die untere Kurve kompliziert zu sein, obwohl sie es nicht ist, wenn Sie das Pfadkonzept von Tikz verstanden haben. Grundsätzlich zeichnen Sie eine Linie zwischen zwei Punkten \draw (1,3) -- (4,1);. Um sie gekrümmt zu machen, können Sie beispielsweise einfach --durch ersetzen to[out=,in=]und den ausgehenden und eingehenden Winkel angeben. Der Pfad beginnt mit \drawund endet mit ;. Lassen Sie uns also noch ein paar Aktionen auf diesem Pfad ausführen, bevor er endet. Setzen Sie nodenach der letzten gezeichneten Koordinate ein , um die Beschriftung T1 anzubringen. Fügen Sie nodezwischen Start- und Endpunkt zwei weitere s ein, wobei wir nur ihre Koordinaten (A) und (B) verwenden und ihre Position auf diesem Pfad mithilfe von feinabstimmen [pos=]. Achten Sie bitte auf das Drop \innerhalb des Pfads.

    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8] (A) {A}            % basically, store coordinates
    node[pos=.6] (B) {B}            % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path

Wir brauchen einen weiteren Punkt (C) über (B), also setzen wir einen weiteren \node, mit einem[yshift=]

    % ~~~ put a node//coordinate above (B) ~~~
    \node (C) at ([yshift=6mm]B) {C};

Zum Schluss verbinden wir (A), (C) und (B) wieder mit einer gekrümmten Linie:

    % ~~~ connect A, C and B ~~~~~~~~~
    \draw (A) to[out=140,in=-70] (C) -- (B);

Grundidee

Verfeinerungen

Dies sind die Änderungen und Ergänzungen:

  • Definieren Sie einige Stile: crdum die Dummy-Knoten mit Kreisen darzustellen, lnfür die Linie
  • Merken Sie sich coordinate (X) entlang der x-Achse für später
  • Entfernen Sie Text aus den Knoten A, B und C UND verwenden Sie den crdStil
  • Zeichnen mit Pfeil und Beschriftung für die(label)
  • Berechnen Sie die Koordinate (V4) unter (B) und verwenden Sie (X), setzen Sie ein \node, \drawein Häkchen

Für die shifted arrowin Ihrer Zeile gibt es mehrere Möglichkeiten. Ich habe die Lazy-Variante verwendet, und hier sind weitere Optionen:

  • den Pfeil weglassen
  • Verwenden der Dekorationsbibliothek
  • Setzen Sie einen Zwischenpunkt zwischen A und B (und passen Sie die Winkel bei Bedarf an)
  • usw.

Verfeinerungen

Vollständiger Code

Dieser Code erstellt zwei Seiten (eine für jede TikzPicture-Umgebung) mit Zeichnungen mit angepasster Seitengeometrie.

\documentclass[10pt,border=3mm,tikz]{standalone}

\begin{document}
 % ~~~ (I) basic ideas ~~~~~~~~~~~~~~~
 \begin{tikzpicture}
    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0);
    \draw[->] (0,0) -- (0,5);
    
    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8] (A) {A}            % basically, store coordinates
    node[pos=.6] (B) {B}            % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path
    
    % ~~~ put a node//coordinate above (B) ~~~
    \node (C) at ([yshift=6mm]B) {C};
    
    % ~~~ connect A, C and B ~~~~~~~~~
    \draw (A) to[out=140,in=-70] (C) -- (B);
    
 \end{tikzpicture}
 
 
 
 % ~~~ (II) fine print ~~~~~~~~~~~~~~~
 \begin{tikzpicture}[   % some self-defined styles
    crd/.style={minimum size=1mm,       % puts the dots
                inner sep=0pt,circle,draw,fill},
    ln/.style={blue, line width=1.5pt},
 ]
    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0) coordinate (X);
    \draw[->] (0,0) -- (0,5);
    
    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8,crd] (A) {}         % basically, store coordinates
    node[pos=.6,crd] (B) {}         % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path
    
    % ~~~ put a node//coordinate above (B) ~~~
    \node[crd] (C) at ([yshift=6mm]B) {};
    
    % ~~~ connect A, C and B ~~~~~~~~~
    \draw[ln,->] (A) to[out=140,in=-70] (C);
    \draw[ln]    (C) -- (B);
    
    % ~~~ put some label ~~~~~~~~~~~
    \draw[<-] (C) -- +(45:15mm) node[anchor=west] {$(V_4, P_4, T_4)$};
    
    % ~~~ perpendicular below points ~~~~~~~
    \coordinate           (V4) at (B |- X); % projection onto x-axis
    \node[yshift=-3mm] at (V4) {$V_4$};     % the label
    \draw (V4) -- +(0,.2);                  % the tick
    
 \end{tikzpicture}
\end{document}

verwandte Informationen