2016-09-08 3 views
0

Ich möchte mehrere Figuren mit verschiedenen Größen anzeigen, um sicherzustellen, dass der Text beim Drucken der Zahlen immer gleich groß ist. Wie kann ich das erreichen?matplotlib - figsize ändern, aber Schriftgröße konstant halten

Als ein Beispiel. Sagen wir, ich habe zwei Zahlen:

import matplotlib.pylab as plt 
import matplotlib as mpl 

mpl.rc('font', size=10) 

fig1 = plt.figure(figsize = (3,1)) 
plt.title('This is fig1') 
plt.plot(range(0,10),range(0,10)) 
plt.show() 


mpl.rc('font', size=?) 

fig2 = plt.figure(figsize = (20,10)) 
plt.title('This is fig2') 
plt.plot(range(0,10),range(0,10)) 
plt.show() 

Wie kann ich die Schrift in einer solchen Art und Weise, dass, wenn der Titel und die Achse ticklabels in fig1 gedruckt wird die gleiche Größe wie die in fig2 haben?

+0

Ich bin nicht sicher, was Sie mit 'wenn gedruckt' meinen. Meinst du "auf Papier gedruckt", "auf dem Bildschirm angezeigt" oder "in eine Datei gespeichert"? Wenn Sie die gleiche Schriftgröße verwenden, ist die Schriftgröße identisch. Wenn Sie die Größe der Figur ändern, ändert sich die relative Größe der Schrift --- im Vergleich zur Größe der Figur, aber nicht zur Schriftgröße selbst. – farenorth

Antwort

1

In diesem Fall wäre die Schriftgröße die gleiche (d. H. Auch 10 Punkte).

jedoch in Jupyter Notebook die Zahlen in einer anderen Größe angezeigt werden, wenn sie zu groß sind, finden Sie unter:

Jupyter Notebook example

Beachten Sie, dass in den Punkten Schriftgröße eine lineare Skala hat, also wenn Sie Würde die Größe der Buchstaben genau doppelt so groß sein, müßte man genau die doppelte Größe in Punkten eingeben (zB 20pt). Wenn Sie also die zweite Figur mit 50% der ursprünglichen Größe drucken (Länge und Breite, nicht Fläche), würden die Schriften die gleiche Größe haben.

Wenn der einzige Zweck dieses Skripts darin besteht, Zahlen zu drucken, sollten Sie die Größe wie gewünscht einstellen (auf Papier oder auf dem Bildschirm) und dann die Schriftgröße anpassen. Sie könnten sie dann in ein Dokument in dieser exakten Größe oder diesem Verhältnis einfügen und die Schriftarten wären in der Tat gleich groß.


Wie tcaswell erwähnt, ändert bbox_inches='tight' effektiv die Größe der gespeicherten Zahl, so dass die Größe unterschiedlich ist von dem, was Sie als figsize gesetzt. Da dadurch bei einigen Figuren mehr Leerzeichen entstehen als bei anderen, könnten sich die relativen Größen von Objekten und Schriftarten für ein gegebenes Seitenverhältnis unterscheiden.

+1

und ware von 'bbox_inches = 'tight', was deine Figur verkleinert/verkleinert. Wenn du die Größe der Figur zB in Latex festlegst, ändere die Größe der Schriftgröße. – tacaswell

+0

Ah ja, guter Punkt! Hinzufügen dieser zur Antwort. Ich frage mich, ob es noch andere Vorbehalte gibt. – BrechtDeMan

+0

Danke! Ich war nur verwirrt, da, wenn Zahlen auf jupyter Notizbuch angezeigt werden, die Schriftgröße in den 2 Fällen ändert. Nach dem Speichern der Figuren ist die Schriftgröße jedoch gleich. – Laura

Verwandte Themen