Feinste Kontrolle über die Schriftgröße in Seaborn-Plots für wissenschaftliche Arbeiten

8

Ich versuche derzeit, Seaborn zu benutzen, um Pläne für meine akademischen Arbeiten zu erstellen. Die Plots sehen gut aus und sind einfach zu erstellen, aber ein Problem, mit dem ich Probleme habe, ist die feine Kontrolle über die Schriftgröße in den Plots.

Meine Schriftgröße in meinem Papier ist 9pt und ich möchte sicherstellen, dass die Schriftgröße in meinen Plots entweder 9pt oder 10pt ist. Aber im Seaborn wird die Schriftgröße hauptsächlich über die Schriftgröße sns.set_context("paper", font_scale=0.9) gesteuert. Daher ist es für mich schwierig, die richtige Schriftgröße zu finden, außer durch Versuch und Irrtum. Gibt es einen effizienteren Weg, dies zu tun?

Ich möchte auch sicherstellen, dass die Schriftgröße zwischen verschiedenen Seaborn Plots konsistent ist. Aber nicht alle meine Seaborn-Plots haben die gleiche Dimension, also scheint es, als würde die Verwendung der same font_scale auf allen Plots nicht unbedingt die gleiche Schriftgröße über diese verschiedenen Plots erzeugen?

Ich habe meinen Code unten angehängt. Ich freue mich über Kommentare zur Formatierung der Handlung für eine zweispaltige wissenschaftliche Arbeit. Mein Ziel ist es, die Größe der Figur steuern zu können, ohne die Schriftgröße oder den Plot zu verfälschen. Ich benutze Latex, um meine Arbeit zu schreiben.

%Vor%     
kc2uno 25.03.2016, 13:26
quelle

2 Antworten

6

Sie haben Recht. Dies ist ein schlecht dokumentiertes Problem. Sie können den Parameter für die Schriftgröße jedoch direkt nach dem Erstellen des Diagramms ändern (abhängig von der Schriftgröße). Überprüfen Sie das folgende Beispiel:

%Vor%

, was zu folgendem führt:

Damit es zwischen den Plots konsistent ist, müssen Sie nur sicherstellen, dass der DPI derselbe ist. Übrigens ist es auch eine Möglichkeit, die RC-Wörterbücher seit "font .size "Parameter existiert, aber ich bin nicht sicher, wie das geht.

HINWEIS: Und ich verstehe auch nicht wirklich, warum sie den Namen der Schriftgrößenvariablen für Achsenbeschriftungen und -ticks geändert haben. Scheint ein bisschen nicht intuitiv.

    
armatita 25.03.2016 14:46
quelle
5

Es ist alles andere als befriedigend, nicht wahr? Die einfachste Methode, die ich beim Festlegen des Kontexts angegeben habe, z. B .:

%Vor%

Dies sollte für 90% der Standardplotting-Verwendung sorgen. Wenn Tick-Label kleiner als Achsenbeschriftungen sein sollen, setzen Sie 'axes.labelsize' auf den kleineren Wert (Ticklabel) und geben Sie Achsenbezeichnungen (oder andere benutzerdefinierte Elemente) manuell an, z. B .:

%Vor%

Sie können es als eine Funktion definieren und in Ihre Skripte laden, so dass Sie sich nicht an Ihre Standardnummern erinnern oder es jedes Mal aufrufen müssen.

%Vor%

Natürlich können Sie Konfigurationsdateien verwenden, aber ich denke, die ganze Idee ist eine einfache, direkte Methode, deshalb funktioniert das oben genannte gut.

Hinweis: Wenn Sie diese Zahlen angeben, wird die Angabe von font_scale in sns.set_context für alle angegebenen Schriftelemente ignoriert, auch wenn Sie sie festgelegt haben.

    
TNT 24.05.2016 05:48
quelle

Tags und Links