Analyser les erreurs courantes et résoudre les problèmes tronqués en chinois avec matplotlib

PHPz
Libérer: 2024-01-04 14:55:34
original
1142 Les gens l'ont consulté

Analyser les erreurs courantes et résoudre les problèmes tronqués en chinois avec matplotlib

Titre : Explication détaillée de la façon de corriger les erreurs courantes de caractères chinois tronqués dans matplotlib

Texte :

Lorsque nous utilisons Matplotlib pour dessiner des graphiques, nous rencontrons souvent des problèmes avec les caractères chinois tronqués, tels que les étiquettes, les titres et la police des axes. affichage dans le graphique Incorrect. Ce problème est principalement dû au fait que la police par défaut de Matplotlib ne prend pas en charge les caractères chinois. Dans cet article, plusieurs méthodes courantes seront détaillées pour aider à résoudre ce problème.

Méthode 1 : modifier les rcParams de Matplotlib

Matplotlib fournit un paramètre rcParams qui peut être utilisé pour définir la police globale. Nous pouvons spécifier des polices prenant en charge le chinois en modifiant ce paramètre.

D'une manière générale, nous pouvons choisir une police chinoise couramment utilisée, telle que SimHei, STSong, Microsoft YaHei, etc. Avant de modifier rcParams, nous devons d'abord déterminer le chemin d'installation de ces polices dans le système. Vous pouvez le visualiser avec le code suivant :

import matplotlib.font_manager as fm
fonts = fm.fontManager.ttflist
for font in fonts:
    print(font.name, font.fname)
Copier après la connexion

Sélectionnez le nom d'une police, telle que "SimHei", et copiez son chemin complet. Ensuite, avant de dessiner le graphique, utilisez le code suivant pour définir les paramètres rcParams :

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
Copier après la connexion
Copier après la connexion

Méthode 2 : Utiliser un fichier de police personnalisé

S'il n'y a pas de police chinoise appropriée dans le système, nous pouvons également télécharger le fichier de police correspondant et ajouter dans le répertoire des polices de Matplotlib.

Tout d'abord, téléchargez le fichier de police à partir d'un site Web de ressources approprié, tel que "SimHei.ttf". Ensuite, recherchez le répertoire des polices de Matplotlib, qui peut être trouvé par le code suivant :

import matplotlib as mpl
print(mpl.get_cachedir())
Copier après la connexion

Copiez le fichier de police dans ce répertoire, puis utilisez le code suivant pour enregistrer la police personnalisée avant de dessiner le graphique :

import matplotlib.font_manager as fm
fm.fontManager.addfont('/path/to/SimHei.ttf')
Copier après la connexion

Ensuite, définir les paramètres rcParams Pour utiliser cette police :

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
Copier après la connexion
Copier après la connexion

Méthode 3 : Utiliser les polices système

S'il existe déjà une police chinoise appropriée dans le système, nous pouvons directement utiliser la police système pour dessiner des graphiques.

Tout d'abord, vérifiez les polices installées sur le système via le code suivant :

import matplotlib.font_manager as fm
fonts = fm.fontManager.ttflist
for font in fonts:
    print(font.name)
Copier après la connexion

Sélectionnez un nom de police, tel que "Microsoft Yahei", puis avant de dessiner le graphique, utilisez le code suivant pour définir les paramètres rcParams :

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['微软雅黑']
Copier après la connexion

De cette façon, vous pouvez utiliser les polices système pour afficher le chinois normalement.

Il convient de noter que les méthodes ci-dessus peuvent être légèrement différentes sur les systèmes Mac et Linux. La situation spécifique peut être ajustée en conséquence selon les différents systèmes.

Après avoir résolu le problème du chinois tronqué, nous pouvons utiliser normalement les caractères chinois dans Matplotlib. Ce qui suit est un exemple de code simple pour dessiner un graphique linéaire avec des titres et des étiquettes chinois :

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()
Copier après la connexion

Avec la méthode ci-dessus, nous pouvons facilement résoudre le problème des caractères chinois tronqués dans Matplotlib et rendre nos graphiques plus beaux et plus faciles à lire. Dans le même temps, cela nous permet également de mieux appliquer Matplotlib pour le travail de visualisation de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal