Oft führe ich numerische Berechnungen mit python (+ Zusatzpaketen) durch und erstelle über das Modul matplotlib.pyplot 2D Grafiken. Ich schaffe es, dass die Beschriftungen mit \LaTeX gesetzt werden, allerdings muss ich die Schriftgröße vorgeben, was dazu führt, dass bei nachträglicher Skalierung des Diagramms im \LaTeX Dokument auch die Beschriftungen mitskaliert werden und die Schriftgrößen dann nicht mehr zum Rest des Dokumentes passen. Ich hätte aber gerne, dass die Schriftgrößen automatisch angepasst werden, z. B. auch dann, wenn ich die Basisschriftgröße für das gesamte Dokument ändere.

Die Daten mit einem anderen Programm zu plotten möchte ich vermeiden.

PS: Minimalbespiel kann bald folgen, wenn ich wieder an meinem Arbeitsrechner sitze.

gefragt 25 Aug '14, 13:42

feynman's gravatar image

feynman
1.0k132937
Akzeptiert-Rate: 23%

bearbeitet 26 Aug '14, 14:08

cgnieder's gravatar image

cgnieder
22.1k253463

Ist dir das Paket "pythontex" bekannt? Hierbei kann man Python-Code in LaTeX unterbringen. Das Prinzip ist ähnlich wie mit Lua und LuaTeX. Das Skript wird dann zwischendurch nochmal an ein Pythonskript übergeben. Der größte Vorteil für dich wäre, dass es damit möglich ist LateX-Variablen in Python zu verwenden. Z.B. textwidth für die Erstellung der matplotlib-Grafiken. Eine Skalierung wäre dann nicht mehr nötig. Der größte Nachteil ist die etwas umständliche Einrichtung des Ganzen. Ich persönlich habe daher nicht viel Erfahrung damit. Aber vielleicht hilft es dir ja weiter.

(26 Aug '14, 09:51) Sylvan

Ab matplotlib 1.4.0 besteht nun die Möglichkeit tikz/pgf zu nutzen. Zur Zeit stellt das zumindest für mich die beste Möglichkeit dar.

Permanenter link

beantwortet 11 Okt '14, 11:34

feynman's gravatar image

feynman
1.0k132937
Akzeptiert-Rate: 23%

bearbeitet 11 Okt '14, 11:36

Ich hatte das gleiche Problem für meine Doktorarbeit. Leider geht das nicht automatisch bzw. ich hatte keine zufriedenstellende Lösung gefunden.

Als Workaround hatte ich folgendes verwendet:

  1. Die Grösse der Matplotlib-Figure vorgeben siehe: Grösse ändern
  2. Schriftart der Matplotlib-Figure wie im Hauptdokument ändern rc('text.latex',preamble=r'\usepackage{myfont}') rc('text',usetex=True)
  3. Vom Python als PDF abspeichern plt.savefig('Matplotlib_export.pdf')
  4. Im Latex dann \includegraphics[scale=1.0]{Bilder/Matplotlib_export.pdf}

Der Vorteil/Nachteil ist, dass man am Anfang viel Zeit in Matplotlib investieren muss, um die Grafiken auf die richtige Grösse zu bekommen. Allerdings erhöht dies die spätere Qualität, da die Schriftartenskalierung einfach nicht gut funktioniert.

Permanenter link

beantwortet 25 Aug '14, 20:30

MarkusR's gravatar image

MarkusR
1
Akzeptiert-Rate: 0%

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:

×54
×1

gestellte Frage: 25 Aug '14, 13:42

Frage wurde gesehen: 12,139 Mal

zuletzt geändert: 11 Okt '14, 11:36