2014-02-21 5 views
11

Ich möchte eine Schriftart in Times New Roman in der Legende eines Matplotlib-Diagramms anzeigen. Ich habe alle anderen Strichbeschriftungen/Achsenbeschriftungen/Titel zu Times New Roman geändert und haben die Dokumentation gesucht, aber ich kann nur finden, wie die Schriftgröße in einer Legende zu ändern, um die prop Argument in pyplot.legend()Wie legende fontname in matplotlib ändern

Danke mit

Natürlich direkt nach dem Posten, fand ich die Antwort. Lösung für alle anderen mit dem gleichen Problem:
import matplotlib as mpl
mpl.rc('font',family='Times New Roman')

+3

Fügen Sie Ihre Antwort als Antwort hinzu, damit sie akzeptiert und aus der Warteschlange für nicht beantwortete Fragen entfernt werden kann. Willkommen bei StackOverflow! – dax

Antwort

11

Dies wurde nicht in Google zeigt up-Ergebnisse also werde ich es als eine Antwort senden. Die rc-Parameter für die Schriftart können verwendet werden, um eine einzelne Standardschrift festzulegen.

Lösung für alle anderen mit dem gleichen Problem:

import matplotlib as mpl

mpl.rc('font',family='Times New Roman')

8

Die .rc Lösung gegeben ändert die Standardschriftart für alle zeichnen.

Hier ist eine Lösung, dies zu tun, wenn Sie möchten, alle Schriften nicht ändern, sondern nur die Schrifteigenschaften der Legende von diesem Graph (eine Legende zu einem bestimmten axis Objekt gehört):

L = ax.legend() 
plt.setp(L.texts, family='Consolas') 

Damit können Sie eine andere Schriftart für die Legende und die Achsen auswählen. Ich fand das hilfreich, wenn ich eine Monospace-Schrift für meine Legende benötigt, aber nicht für die Achsen - erlaubte mir eine ordentliche Legende wie diese zu erstellen:

enter image description here

Hinweis, wie der Titel eine andere Schriftart als der ist Legende - das gibt mir eine Ausrichtung von Zahlen, die sonst schwer zu erreichen wäre.

+0

gut, außer dass Consolas scheint nicht mit Standard-Installation oder nicht eine Schriftfamilie zu kommen. ''monospace'' funktioniert für mich –

+0

@DimaLuiev - Consolas ist eine Standard-Monospace-Schriftart auf einem Mac. Ich nehme an, Sie haben eine Windows-Maschine? Wie auch immer - das war als Anleitung gedacht, kein Rezept ... – Floris

+0

nein, mein Jupiter läuft auf einem Ubuntu-Rechner. –