Heim > Backend-Entwicklung > Python-Tutorial > Analysieren Sie häufige Fehler und lösen Sie verstümmelte Matplotlib-Chinesischprobleme

Analysieren Sie häufige Fehler und lösen Sie verstümmelte Matplotlib-Chinesischprobleme

PHPz
Freigeben: 2024-01-04 14:55:34
Original
1189 Leute haben es durchsucht

🔜 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.

Analysieren Sie häufige Fehler und lösen Sie verstümmelte Matplotlib-ChinesischproblemeMethode 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)
Nach dem Login kopieren

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']
Nach dem Login kopieren
Nach dem Login kopieren

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())
Nach dem Login kopieren

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')
Nach dem Login kopieren

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']
Nach dem Login kopieren
Nach dem Login kopieren

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)
Nach dem Login kopieren

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'] = ['微软雅黑']
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage