Ich möchte einen Plot generieren, der zwei Funktionen vergleicht, indem unterhalb des Hauptplots die Differenz der beiden Funktionen geplottet wird. Dieser zweite Plot sollte wesentlich kleiner sein als der Hauptplot. Bisher habe ich folgendes. Wenn ich die height auf 4cm setze, dann ändert sich die width allerdings gleich mit. Wie kann ich die width exakt gleich dem oberen Plot setzen? Wenn möglich, sollte die Lösung mit pgfplots 1.5.1 kompatibel sein.

Open in writeLaTeX
\documentclass{article}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.5.1}
\usepgfplotslibrary{groupplots}
\begin{document}

\begin{tikzpicture}
    \begin{groupplot}[
             group style={group size=1 by 2, horizontal sep=0pt, vertical sep=0pt,
                 x descriptions at=edge bottom},
             xlabel={$k$}, domain=0:15
         ]
         \nextgroupplot[ylabel={$P(k)$}]
         \addplot {sin(50*x)};
         \addplot {sin(51*x)};
         \nextgroupplot[
             ylabel={$\Delta P(k)$},
             height=4cm,
             width=8.44cm  % How can I set the width to be the same as the top plot?
         ]
         \addplot {sin(50*x) - sin(51*x)};
     \end{groupplot}
\end{tikzpicture}
\end{document}

gefragt 26 Sep '14, 22:22

hsgg's gravatar image

hsgg
331
Akzeptiert: 100%

bearbeitet 28 Sep '14, 05:20

esdd's gravatar image

esdd
14.2k53251

2

Wieso nicht mit \begin{groupplot}[width=12cm, .... einheitliche Breite festlegen?

(27 Sep '14, 08:14) cis

Hah, wie simpel! Dass ich nicht selber darauf gekommen bin... Funktioniert super. Wäre dann noch schön, wenn ich die Breite auf die von pgfplots selbst gewählte Breite setzen könnte. (Mit width=0.5textwidth wird es etwas dünner.)

(27 Sep '14, 12:25) hsgg

Du kannst, wie von @cis vorgeschlagen, die Breite für alle Teilplots als Option von groupplot festlegen. Wenn diese gleich der von pgfplots selbst gewählten, also voreingestellten Breite sein soll, dann kannst Du width=\axisdefaultwidth oder width=240pt setzen, da 240pt der laut Dokumentation voreingestellte Wert ist:

Open in writeLaTeX
\documentclass[margin=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}
\usepgfplotslibrary{groupplots}

\begin{document}

\begin{tikzpicture}
  \begin{groupplot}[
      group style={
          group size=1 by 2,
          vertical sep=0pt,
          x descriptions at=edge bottom},
          xlabel={$k$},
          domain=0:15,
          width=\axisdefaultwidth
    ]
    \nextgroupplot[ylabel={$P(k)$}]
      \addplot {sin(50*x)};
      \addplot {sin(51*x)};
    \nextgroupplot[
        ylabel={$\Delta P(k)$},
        height=4cm
      ]
      \addplot {sin(50*x) - sin(51*x)};
  \end{groupplot}
\end{tikzpicture}
\end{document}

Ergebnis:

alt text

Permanenter link

beantwortet 28 Sep '14, 05:13

esdd's gravatar image

esdd
14.2k53251

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160
×2

Frage gestellt: 26 Sep '14, 22:22

Frage wurde angeschaut: 1,807 Mal

Zuletzt aktualisiert: 28 Sep '14, 05:20