pgfplots untereinander ausrichten (pgfplots-Profis hier?)

Tabellen und Grafiken erstellen und anordnen


pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Hi Christian,

genau das wars!

Vielen Dank für deinen Hinweis und den Trick mit \fbox.
Damit hab ich feststellen können, dass ich versehentlich in dem oberen Bild eine "Optionsleiche" in den letzten Zeilen rum liegen hatte.
Dort befand sich der Rest von all meinen vorherigen Lösungsansätzen:
\pgfresetboundingbox
Nach Entfernung klappt alles wunderbar!

Danke dafür!

Da fällt mir noch eine Frage ein:
Nach welcher Syntax kann ich deine in der Figure-Umgebung angegebene Overlay-Option allgemein gültig machen, sodass es alle Bilder gleichzeitig betrifft? Ich möchte damit erreichen, dass die Bilder an ihrer X-Achse zentriert werden. Aktuell ist es so, dass das Y-Label mit einbgezogen wird und es optisch so wirkt, als wäre es nach rechts verschoben.
Wenn das allerdings nicht zu empfehlen ist, lass ich es sein :-)


Und eine aller letzte Frage: empfiehlst du die Option: \pgfplotsset{compat=newest} ?
Wenn ich das auskommentiert lasse, dann habe ich den Vorteil, dass sogar die Y-Labels untereinander ausgerichtet sind.

Aber bei Einzelplots sieht das nach viel Platzverbrauch aus.
Kann ich das individuell schalten? Das hieße, vor "Doppelbildern" schalte ich es aus, um die Y-Labels ebenfalls ausgerichtet zu lassen, vor Einzelplots schalte ich es wieder an.

Vielen Dank und Gruß!

Gast

Beitrag von Gast »

Hallo Pooya,

zu Deiner ersten Frage: Du kannst den Teil mit
\pgfplotsset{
  ylabel style={overlay},
  yticklabel style={overlay},
}
im Prinzip in die praeambel schreiben - dann gilt das fuer das gesamte Dokument.Alternativ kannst Du mit
\pgfplotsset{
   mein overlay style/.style={
    ylabel style={overlay},
    yticklabel style={overlay},
  }
}
in der praeambel einen neuen Style definieren. Den kannst Du dann an jede Achse, die das betrifft, von Hand uebergeben.

Das sollte gut klappen. Einziger NAchteil: wenn man die x Beschriftung nach links oder rechts rausguckt, verschiebt sich doch wieder was.
Ich habe in meiner Arbeit das trim-zeug (beispiel in vorigem post) dafuer verwendet, das ist kann die Aufgabe meiner Meinung nach verlaesslicher (und klappt auch noch, wenn man die external lib verwendet). Ich wuerde - falls moeglich - eher die trim sachen empfehlen.


Zu dem 'compat=newest': dieses Feature erlaubt es, neue Sachen zu schreiben, die sehr sinnvoll sind, aber u.U. inkompatibel zu altem sind. Nimm am besten "compat=1.3" oder "compat=1.4" -- dann bleibt Dein .tex file immer kompilierbar, selbst wenn in version 1.23 mal was anders wird ;-)
Aber zu Deiner eigentlichen Frage: die Plazierung der Labels ist m.E. eine Geschmacksfrage. Entscheide, wie es Dir besser gefaellt. Und: ja, man kann das auch separat fuer plots steuern:
\begin{axis}[ylabel absolute, ylabel=bla]
oder
\begin{axis}[ylabel near ticks, ylabel=bla]
Das "compat" zeug hat folgende Bewandnis: fuer "compat=pre 1.3" wird "ylabel absolute" als default genommen und sonst "ylabel near ticks". Mit anderen Worten: Du kannst auch
\pgfplotsset{compat=newest, ylabel absolute}
setzen, dann hast Du sowohl die aktuellsten Features als *auch* die absolute Positioninerung.

Was das Deine Frage?

Mit liebem Gruss

Christian

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Hi Christian,

recht herzlichen Dank!
Das hört sich ausgezeichnet an. Ich konnte es zwar noch nicht ausprobieren, aber ich bin mir sicher, dass ich mit deiner Hilfe das umsetzen kann, was ich vor hatte.

Ich werde es aber bald testen!

Ich bedanke mich für deine detaillierte Hilfestellungen!
Beste Grüße

:D

Antworten