Maison >développement back-end >Tutoriel Python >Partagez des conseils et des expériences sur la façon de gérer les caractères chinois tronqués dans matplotlib

Partagez des conseils et des expériences sur la façon de gérer les caractères chinois tronqués dans matplotlib

王林
王林original
2024-01-13 14:14:131458parcourir

Partagez des conseils et des expériences sur la façon de gérer les caractères chinois tronqués dans matplotlib

Partage de conseils et d'expériences pour résoudre les caractères chinois tronqués de matplotlib

[Introduction]
Lorsque nous utilisons matplotlib pour dessiner des graphiques, nous rencontrerons inévitablement le problème des caractères chinois tronqués. Ce problème se produit généralement dans les légendes, les étiquettes d'axes, etc. Afin de résoudre ce problème, cet article partagera quelques conseils pratiques et expériences pour aider les lecteurs à résoudre facilement le problème des caractères chinois tronqués dans matplotlib.

[Description du problème]
Lorsque nous utilisons matplotlib pour dessiner des graphiques, nous utilisons le jeu de caractères anglais par défaut. Lors de l'ajout de texte chinois, étant donné que le codage de caractères par défaut de matplotlib est le jeu de caractères ASCII, les caractères chinois ne peuvent pas être affichés correctement et sont affichés sous forme de caractères tronqués. Pour résoudre ce problème, nous devons procéder aux ajustements correspondants pour différents systèmes d'exploitation et environnements de programme.

【Solution】
1. Changer la police par défaut du système
Afin de permettre à matplotlib d'afficher correctement les caractères chinois, nous pouvons modifier la police par défaut du système. En prenant le système d'exploitation Windows comme exemple, nous pouvons le configurer en suivant les étapes suivantes :

  1. Ouvrez le fichier de configuration de la police de matplotlib Vous pouvez utiliser le code suivant pour trouver le chemin du fichier :

import matplotlib
matplotlib. matplotlib_fname()

  1. Trouver le chemin du fichier Modifiez les paramètres des deux paramètres sous le chemin vers : matplotlibrc文件,打开并找到font.familyfont.sans-serif
font.family : Microsoft Yahei, SimHei, Arial

font.sans-serif : Microsoft Yahei, SimHei, Arial

    Enregistrez les modifications et réexécutez le programme, les caractères chinois s'afficheront correctement.
2. Définir manuellement la police

En plus de modifier la police par défaut du système, nous pouvons également définir manuellement la police dans le programme. Nous pouvons y parvenir en utilisant l'extrait de code suivant :

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

De cette façon, nous définissons la police sur " Microsoft YaHei" , il s'agit d'une police chinoise couramment utilisée qui peut être remplacée en ajoutant d'autres polices chinoises entre crochets.

3. Utiliser le codage Unicode

Dans certains cas particuliers, nous ne pourrons peut-être pas modifier la police par défaut du système ou définir la police manuellement. À l’heure actuelle, nous pouvons utiliser le codage Unicode pour afficher les caractères chinois. Par exemple :

plt.xlabel(u'horizontal axis name')

Ajoutez le préfixe "u" avant la chaîne pour indiquer que la chaîne utilise le codage Unicode, afin que matplotlib puisse afficher correctement les caractères chinois.

4. Utiliser les paramètres fontproperties

Dans certains cas, nous devrons peut-être utiliser des caractères chinois dans les légendes ou à d'autres endroits. À ce stade, nous pouvons utiliser le paramètre fontproperties pour spécifier la police chinoise correspondante et définir la police. Par exemple :

importez matplotlib.font_manager en tant que fm

font = fm.FontProperties(fname='Microsoft YaHei.ttf')

plt.xlabel('horizontal axis name', fontproperties=font)

De cette façon, nous peut transmettre les caractères chinois en spécifiant les polices.

【Exemple de code】

L'exemple de code suivant montre comment afficher correctement les caractères chinois :

importer matplotlib.pyplot en tant que plt

importer matplotlib.font_manager en tant que fm

Définissez la police

font = fm.FontProperties(fname=' Microsoft YaHei.ttf')

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

Dessiner des graphiques

x = [1, 2, 3, 4]

y = [5, 6 , 7, 8]
plt.plot(x, y)

Les étiquettes des axes de coordonnées et les paramètres de légende sont affichés en chinois

plt.xlabel('nom de l'axe horizontal', fontproperties=font)

plt.ylabel('vertical axis name', fontproperties=font)
plt.legend(['curve'], prop=font)

Afficher les graphiques

plt.show()

【Résumé】

Pour résoudre le problème des caractères chinois tronqués de matplotlib, nous pouvons choisir la bonne méthode en fonction des besoins spécifiques. En modifiant la police par défaut du système, en définissant la police manuellement, en utilisant le codage Unicode ou en utilisant le paramètre fontproperties, nous pouvons facilement obtenir l'affichage correct des caractères chinois. J'espère que les compétences et l'expérience de cet article pourront aider les lecteurs à résoudre le problème des caractères chinois tronqués dans matplotlib et à améliorer l'effet de dessin.

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!

Déclaration:
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