Hallo zusammen! Habe mal wieder ein kleines Problem mit pgfplots.

  1. Ich möchte gerne ein Gitternetz zeichnen, ohne dafür xtick labels anzugeben. Gibt es eine Möglichkeit das ganze benutzerdefiniert zu gestalten. Habe help lines probiert, aber bin nicht wirklich damit weitergekommen. Auch im Manual und im Netz wurde ich nicht fündig.

  2. Die Grafiken werden leider in der minipage nur in x-Richtung ordentlich skaliert. ich weiß, dass die Skalierung in y-Richtung wegen dem Befehl aus meiner Präambel(\pgfplotsset{width=\textwidth, height = 0.4\textheight,) kommt. Das habe ich jedoch mit Absicht da, um nicht jedem Plot erneut zu sagen, wie groß er sein soll. Kann man das mit einem Befehl in meinen Plots unterdrücken?

Hier mal mein Minimalbeispiel:

Open in writeLaTeX
\documentclass[11pt,a4paper,oneside,chapterprefix,numbers=enddot]{scrbook}
\usepackage{pgfplots,siunitx}                       
\pgfplotsset{width=\textwidth, height = 0.4\textheight,
compat=newest, minor tick style={black}, legend style={cells={anchor=west}},every axis legend/.append style={at={(0.99,0.02)},anchor=south east}, ticklabel shift={0.05cm}}
\usepgfplotslibrary{units}

\begin{document}
\begin{figure}
\begin{minipage}[t]{0.475\textwidth}
\centering
   \begin{tikzpicture}
      \begin{axis}[grid = major,
                xlabel near ticks,
                ylabel near ticks,
                xlabel = {Zeit} \si{\minute},
                ylabel = {Temperatur} \si{\celsius},
                xtick = {0,100},
                xmin=-10, xmax=110,
                ]
         \addplot[blue,mark=none,domain=0:100, samples=2]    {10*x};
      \end{axis}
         \end{tikzpicture}
      \caption{Nr.1}
\end{minipage}
      \hfill
\begin{minipage}[t]{0.475\textwidth}
\centering
   \begin{tikzpicture}
      \begin{axis}[grid = major,
                xlabel near ticks,
                ylabel near ticks,
                xlabel = {x},
                ylabel = {y},
                xtick = {0,80},
                xmin=-10, xmax=110,
                ymax=1100 ]
         \addplot[blue,mark=none,domain=0:80, samples=2] {10*x};
      \end{axis}
         \end{tikzpicture}
             \caption{Nr.2}
\end{minipage}
      \end{figure}

\end{document}

Vielen Dank schon mal für die Hilfe!

Gruß

gefragt 20 Aug '14, 21:26

Volker%20Racho's gravatar image

Volker Racho
1654612
Akzeptiert-Rate: 100%

bearbeitet 20 Aug '14, 21:41


Du kannst width und height jederzeit mit weiteren \pgfplotsset-Anweisungen oder direkt als axis-Option ändern.

Ein individuelles Grid kannst Du beispielsweise per tikz-Anweisung einbauen. Ich mache das im folgenden Beispiel direkt in der axis-Umgebung, weil dabei die Einheit für die Zahlenwerte bereits entsprechend gesetzt ist:

Open in writeLaTeX
\documentclass[11pt,a4paper,oneside,chapterprefix,numbers=enddot]{scrbook}
\usepackage{pgfplots,siunitx}                       
\pgfplotsset{width=\textwidth, height = 0.4\textheight,
compat=newest, minor tick style={black}, legend style={cells={anchor=west}},every axis legend/.append style={at={(0.99,0.02)},anchor=south east}, ticklabel shift={0.05cm}}
\usepgfplotslibrary{units}

\begin{document}
\begin{figure}
\begin{minipage}[t]{0.475\textwidth}
\centering
   \begin{tikzpicture}
      \begin{axis}[grid = major,
                xlabel near ticks,
                ylabel near ticks,
                xlabel = {Zeit} \si{\minute},
                ylabel = {Temperatur} \si{\celsius},
                xtick = {0,100},
                xmin=-10, xmax=110,
                ]
         \addplot[blue,mark=none,domain=0:100, samples=2]    {10*x};
      \end{axis}
         \end{tikzpicture}
      \caption{Nr.1}
\end{minipage}
      \hfill
\begin{minipage}[t]{0.475\textwidth}
\centering
   \begin{tikzpicture}
      \begin{axis}[grid = major,
        width=\textwidth,height=.5\textheight,% Übersteuere \pgfplotsset
                xlabel near ticks,
                ylabel near ticks,
                xlabel = {x},
                ylabel = {y},
                xtick = {0,80},
                xmin=-10, xmax=110,
                ymax=1100 ]
         \addplot[blue,mark=none,domain=0:80, samples=2] {10*x};
      \draw[xstep=10,ystep=100,gray,very thin] (-10,-100) grid (110,1100); % individuelles GRID eingefügt
      \end{axis}
         \end{tikzpicture}
             \caption{Nr.2}
\end{minipage}
      \end{figure}

\end{document}

Man kann aber auch außerhalb der axis-Umgebung innerhalb der tikzpicture-Umgebung beliebig in das Bild des Plots hineinzeichnen. Ggf. kann man sogar mit overlays arbeiten, um verschiedene Ebenen gezielt übereinander zu legen.

Permanenter link

beantwortet 22 Aug '14, 10:20

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 22 Aug '14, 17:56

Hallo Ijon! Ich denke, dass du es richtig verstanden hast. Ich habe den Code gerade einmal probiert. Wenn ich nun die Höhe ein wenig herunterskaliere, dann erscheint mein Diagramm etwa in der Größe, wie ich es haben möchte. Einzig die y-Achsenbeschriftung verschwindet zum Großteil, sodass ich mir durch ytick = {} noch ein paar zusätzliche Werte eintragen muss. Aber das ist nun wirklich kein Problem. Und das mit dem Grid ist auch super gelöst. Vielen Dank für die Hilfe!!!

(22 Aug '14, 10:42) Volker Racho
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:

×296
×18
×2

gestellte Frage: 20 Aug '14, 21:26

Frage wurde gesehen: 17,049 Mal

zuletzt geändert: 22 Aug '14, 17:56