Heim >Backend-Entwicklung >Python-Tutorial >Analysieren Sie häufige Fehler und lösen Sie verstümmelte Matplotlib-Chinesischprobleme
🔜 Anzeige im Diagramm Falsch. Dieses Problem wird hauptsächlich dadurch verursacht, dass die Standardschriftart von Matplotlib keine chinesischen Zeichen unterstützt. In diesem Artikel werden wir einige gängige Methoden zur Lösung dieses Problems detailliert beschreiben.
Methode 1: Matplotlibs rcParams ändern
Matplotlib stellt einen rcParams-Parameter bereit, der zum Festlegen der globalen Schriftart verwendet werden kann. Durch Ändern dieses Parameters können wir Schriftarten angeben, die Chinesisch unterstützen.
Im Allgemeinen können wir eine häufig verwendete chinesische Schriftart auswählen, z. B. SimHei, STSong, Microsoft YaHei usw. Bevor wir rcParams ändern, müssen wir zunächst den Installationspfad dieser Schriftarten im System ermitteln. Sie können es mit dem folgenden Code anzeigen:
import matplotlib.font_manager as fm fonts = fm.fontManager.ttflist for font in fonts: print(font.name, font.fname)
Wählen Sie den Namen einer Schriftart aus, z. B. „SimHei“, und kopieren Sie den vollständigen Pfad. Bevor Sie das Diagramm zeichnen, verwenden Sie dann den folgenden Code, um die rcParams-Parameter festzulegen:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
Methode 2: Benutzerdefinierte Schriftartdatei verwenden
Wenn im System keine geeignete chinesische Schriftart vorhanden ist, können wir auch die entsprechende Schriftartdatei herunterladen und hinzufügen es in das Schriftartenverzeichnis von Matplotlib.
Laden Sie zunächst die Schriftartdatei von einer geeigneten Ressourcen-Website herunter, z. B. „SimHei.ttf“. Suchen Sie dann das Schriftartenverzeichnis von Matplotlib, das mit dem folgenden Code gefunden werden kann:
import matplotlib as mpl print(mpl.get_cachedir())
Kopieren Sie die Schriftartendatei in dieses Verzeichnis und verwenden Sie dann den folgenden Code, um die benutzerdefinierte Schriftart zu registrieren, bevor Sie das Diagramm zeichnen:
import matplotlib.font_manager as fm fm.fontManager.addfont('/path/to/SimHei.ttf')
Als nächstes Legen Sie die rcParams-Parameter fest, um diese Schriftart zu verwenden:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
Methode 3: Systemschriftarten verwenden
Wenn bereits eine geeignete chinesische Schriftart im System vorhanden ist, können wir die Systemschriftart direkt zum Zeichnen von Diagrammen verwenden.
Überprüfen Sie zunächst die auf dem System installierten Schriftarten mit dem folgenden Code:
import matplotlib.font_manager as fm fonts = fm.fontManager.ttflist for font in fonts: print(font.name)
Wählen Sie einen Schriftartnamen aus, z. B. „Microsoft Yahei“, und verwenden Sie dann vor dem Zeichnen des Diagramms den folgenden Code, um die rcParams-Parameter festzulegen:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['微软雅黑']
Auf diese Weise können Sie Systemschriftarten verwenden, um Chinesisch normal anzuzeigen.
Es ist zu beachten, dass die oben genannten Methoden auf Mac- und Linux-Systemen leicht unterschiedlich sein können. Die spezifische Situation kann je nach System entsprechend angepasst werden.
Nachdem wir das Problem der chinesischen Verstümmelung behoben haben, können wir in Matplotlib normal chinesische Schriftzeichen verwenden. Das Folgende ist ein einfacher Beispielcode zum Zeichnen eines Liniendiagramms mit chinesischen Titeln und Beschriftungen:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.title('中文标题') plt.xlabel('横轴') plt.ylabel('纵轴') plt.show()
Mit der oben genannten Methode können wir das Problem der verstümmelten chinesischen Zeichen in Matplotlib leicht lösen und unsere Diagramme schöner und leichter lesbar machen. Gleichzeitig ermöglicht es uns auch, Matplotlib besser für Datenvisualisierungsarbeiten einzusetzen.
Das obige ist der detaillierte Inhalt vonAnalysieren Sie häufige Fehler und lösen Sie verstümmelte Matplotlib-Chinesischprobleme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!